How to make BBB pins work after Ubuntu Trusty install?

638 views
Skip to first unread message

Matthew Heitzenroder

unread,
Dec 9, 2014, 3:47:53 AM12/9/14
to beagl...@googlegroups.com

Hi all-

Recently I purchased an Element14 Beaglebone Black Rev C, with Debian Wheezy pre-installed. I was successful with Wheezy, but I had a requirement to upgrade the OS.

I installed Ubuntu Trusty (14.04) following the instructions at http://elinux.org/BeagleBoardUbuntu#Flasher.

However, my pins no longer seem to be working. I suspect I do not have something configured correctly, but I do not know where to look. 

For example, I had something succesfully powered from P9_02 (Ground) and P9_06.  I have tried all of the 5v Pins, but I do not seem to be getting power.

Could I have something misconfigured?  Any help is greatly appreciated.

Thanks!
Matt

William Hermans

unread,
Dec 9, 2014, 5:24:57 AM12/9/14
to beagl...@googlegroups.com
What output do you get from  . .

$ uname -a

??

3.14.x kernels do not have capemgr, and the element14 beaglebone blacks come stock with 3.8.13-bone47 ( at least the 3 we ordered did ).

So, you will either have to downgrade your kernel to 3.8.x or use https://github.com/cdsteinkuehler/beaglebone-universal-io to set the pin config. I have not done this personally so could not say for sure exactly how . . .

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matthew Heitzenroder

unread,
Dec 9, 2014, 8:13:45 PM12/9/14
to beagl...@googlegroups.com, beagl...@googlegroups.com
Hey William, thanks for the reply.

The output of uname -a (and lsb_release) is:

matt@arm:~$ uname -a && lsb_release -a
Linux arm 3.14.22-ti-r31 #1 SMP PREEMPT Sat Oct 25 01:30:27 UTC 2014 armv7l armv7l armv7l GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty

I would hate to downgrade the kernel back to 3.8, just to get the capes to work.  I’ll give those overlays a try.

I’m surprised that all of these OS’s will work with the BBB, but do not have kernel support yet.  I’m exceptionally new to the community, is there an OSS project working on this support somewhere?

Thanks again!
Matt



You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/-gHgYDh5tV4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

Robert Nelson

unread,
Dec 9, 2014, 8:17:22 PM12/9/14
to Beagle Board
On Tue, Dec 9, 2014 at 7:13 PM, Matthew Heitzenroder
<mheitz...@gmail.com> wrote:
> Hey William, thanks for the reply.
>
> The output of uname -a (and lsb_release) is:
>
> matt@arm:~$ uname -a && lsb_release -a
> Linux arm 3.14.22-ti-r31 #1 SMP PREEMPT Sat Oct 25 01:30:27 UTC 2014 armv7l
> armv7l armv7l GNU/Linux
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description: Ubuntu 14.04.1 LTS
> Release: 14.04
> Codename: trusty
>
> I would hate to downgrade the kernel back to 3.8, just to get the capes to
> work. I’ll give those overlays a try.

If you need capes, you downgrade to 3.8:

sudo apt-get update
sudo apt-get install linux-image-3.8.13-bone68
sudo reboot

> I’m surprised that all of these OS’s will work with the BBB, but do not have
> kernel support yet. I’m exceptionally new to the community, is there an OSS
> project working on this support somewhere?

Umm... If we did 'not' have kernel support it would not boot.

Regards,

--
Robert Nelson
http://www.rcn-ee.com/

janszyma...@gmail.com

unread,
Dec 10, 2014, 2:28:42 AM12/10/14
to beagl...@googlegroups.com
Hi Robert,

 There is a lot of confusion about how to make external hardware / custom capes to work with the latest kernel.
For people, who do not want to downgrade or will need to update the kernel sooner or later (like myself)
can you kindly point to a tutorial/reading/explanation how to do it?
That will save a lot of frequent questions and doubts about the issue.
Trying to search for related documentation didn't bring me anything.

Regards
Jan

Robert Nelson

unread,
Dec 10, 2014, 8:53:42 AM12/10/14
to Beagle Board
On Wed, Dec 10, 2014 at 1:28 AM, <janszyma...@gmail.com> wrote:
> Hi Robert,
>
> There is a lot of confusion about how to make external hardware / custom
> capes to work with the latest kernel.
> For people, who do not want to downgrade or will need to update the kernel
> sooner or later (like myself)
> can you kindly point to a tutorial/reading/explanation how to do it?
> That will save a lot of frequent questions and doubts about the issue.
> Trying to search for related documentation didn't bring me anything.

Take a look at:

http://elinux.org/Beagleboard:Capes_3.8_to_3.14#Custom_dtb

There is a dozen examples in that repo:

spi/usart/adc:
https://github.com/RobertCNelson/dtb-rebuilder/blob/3.14-ti/src/arm/am335x-bone-basic-proto-cape.dtsi

gpio/rtc/i2c:
https://github.com/RobertCNelson/dtb-rebuilder/blob/3.14-ti/src/arm/am335x-bone-rtc-01-00a1.dtsi


The default: "am335x-boneblack.dtb" also supports most pins with
Charle's config-pin:

https://github.com/cdsteinkuehler/beaglebone-universal-io

(you can ignore the initial overlay note, as it's loaded by default.)

I'm not really planning to document v3.14.x further, as something
special is planned to be merged for v3.19-rc1. (if your following the
device-tree mainline list)

janszyma...@gmail.com

unread,
Dec 10, 2014, 4:19:59 PM12/10/14
to beagl...@googlegroups.com
OK,

 Thanks Robert.
And thanks for your hard work contributing to the community.

I will have a detailed study later as my first look here https://github.com/cdsteinkuehler/beaglebone-universal-io
(your last link) got me worried. It says:
"

Usage

Load the overlay as usual

echo cape-universaln > /sys/devices/bone_capemgr.*/slots"

... but there is no specified above directory.

Anyhow, don't worry. I will leave it till later.

Cheers,

Jan

Robert Nelson

unread,
Dec 10, 2014, 4:22:18 PM12/10/14
to Beagle Board
On Wed, Dec 10, 2014 at 3:19 PM, <janszyma...@gmail.com> wrote:
> OK,
>
> Thanks Robert.
> And thanks for your hard work contributing to the community.
>
> I will have a detailed study later as my first look here
> https://github.com/cdsteinkuehler/beaglebone-universal-io
> (your last link) got me worried. It says:
> "
>
> Usage
>
> Load the overlay as usual
>
> echo cape-universaln > /sys/devices/bone_capemgr.*/slots"
>
> ... but there is no specified above directory.

That's the part where i mentioned: "(you can ignore the initial
overlay note, as it's loaded by default.)" it's built-in to the
v3.14.x base dtb file..

janszyma...@gmail.com

unread,
Dec 10, 2014, 4:57:21 PM12/10/14
to beagl...@googlegroups.com
Roger that

Pierre Kancir

unread,
Dec 11, 2014, 9:59:55 AM12/11/14
to beagl...@googlegroups.com, janszyma...@gmail.com
 Hi, 

If you want, I made a use case of dtb-rebuilter for kernel 3.14

Karl Karpfen

unread,
Dec 12, 2014, 3:53:03 AM12/12/14
to beagl...@googlegroups.com
What is the reason the newer kernels do not have camepanager-support? Was it dropped out of current kernels for some strange reason or wasn't it never part of a "official" kernel release?

William Hermans

unread,
Dec 12, 2014, 4:12:00 AM12/12/14
to beagl...@googlegroups.com
I do not remember why. There was an explanation some months ago as to why, but the important question would be: "Will capemgr ever be in 3.14.x?" Then, I'm pretty sure the answer would be "NO!"

Charles' universal io is enabled in the latest TI 3.14.x with pin configuration available via sysfs. So there is an alternative. At least I think, as I use 3.8.x in my own "production" images, but I have been exploring the latest TI 3.14.x kernel available via APT. I can tell universal io is there. config-pin is not( at least as far as I can tell - sudo which config-pin returns nothing ).

Anyway, I have a bit more to explore yet, but if what I am reading will work. Something like:

# echo <some_value> > <some_file> should configure the pins fine. So long as they're available to use. Personally, I think this is great, Make it really easy to configure pins on an app by app basis.

Anyway, get back to me in a few days, I'll possibly have a blog write-up on it next month. After new years of course . . .

--

les...@ams.za.com

unread,
Dec 12, 2014, 5:33:49 AM12/12/14
to beagl...@googlegroups.com
Hi Robert,

I did this:


sudo apt-get update
sudo apt-get install linux-image-3.8.13-bone68
sudo reboot

as you suggested, and my beaglebone never rebooted, it switched off and the user LED's never came on again. I tried booting Ubuntu from my SD card again, the 4 USRx LEDs all light up after it appeared to be writing to the eMMC. After I restart, I get no LED action other than the PWR LED. How do I get it back up and running again?

Kind regards,
Lesiba Mahapa

david turvene

unread,
Dec 12, 2014, 2:19:50 PM12/12/14
to beagl...@googlegroups.com
On Tuesday, December 9, 2014 8:13:45 PM UTC-5, Matthew Heitzenroder wrote:

I would hate to downgrade the kernel back to 3.8, just to get the capes to work.  I’ll give those overlays a try.

@Matt -

Well, if you REALLY don't want to go back, another thing you can try is to memory map the chip address space and directly control the pin registers.

Search for the android devmem.c utility.  It's a small C program that memory maps physical address space into user space.  Compile and run it on the BBB.  See the TI AM335x TRM (http://www.ti.com/lit/ug/spruh73k/spruh73k.pdf) for physical memory locations for EVERYTHING on the chip.  You need to understand the architecture a little because the ARM core accesses most SoC peripherals using the L3 or L4 buses (L1 and L2 are inside the ARM core.)

For example, to read the GPIO_DATAOUT register in the GPIO1 register set and then set the USR1 LED (bit 22):

sudo devmem2 0x4804c13c w
sudo devmem2 0x4804c13c w 0x400000

To confirm the device, read the device_id reg in the CONTROL_MODULE register set.  This should always return something containing B944h and 17h - the unique JTAG id for the TI AM3358 chip.

sudo devmem2 0x44e10600 w

According to the BBB SRM you want to look in section 9.2.2 of the TRM for your pins.


Matthew Heitzenroder

unread,
Dec 12, 2014, 2:28:13 PM12/12/14
to beagl...@googlegroups.com, beagl...@googlegroups.com
Heh.  I went back :)   And this thread gave me a much better idea of the state.

Thank you to everyone who weighed in on this thread and I appreciate the hard work everyone puts into make this hardware and software available.

Cheers!



--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to a topic in the Google Groups "BeagleBoard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/beagleboard/-gHgYDh5tV4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to beagleboard...@googlegroups.com.

Robert Nelson

unread,
Dec 12, 2014, 4:21:24 PM12/12/14
to Beagle Board
On Fri, Dec 12, 2014 at 4:33 AM, <les...@ams.za.com> wrote:
> Hi Robert,
>
> I did this:
>
> sudo apt-get update
> sudo apt-get install linux-image-3.8.13-bone68
> sudo reboot
>
> as you suggested, and my beaglebone never rebooted, it switched off and the
> user LED's never came on again. I tried booting Ubuntu from my SD card
> again, the 4 USRx LEDs all light up after it appeared to be writing to the
> eMMC. After I restart, I get no LED action other than the PWR LED. How do I
> get it back up and running again?

What's showing up in your usb-serial interface?

Lesiba Mahapa

unread,
Dec 15, 2014, 5:09:27 AM12/15/14
to beagl...@googlegroups.com
Hi Robert,

I finally managed to get it back up again, I think that the devices I had connected to the GPIOs were interfering with. I am having trouble finding a way to enable my PWMs and UART with the 3.14 Kernel though. I am very VERY new at the beaglebone black, and the tutorials I am finding seem to be for the previous kernel. Please advise me (as simply as you can please :-) ) on how to get them working.

Kind regards,
Lesiba Mahapa

Thorsten von Eicken

unread,
Dec 26, 2014, 6:55:54 PM12/26/14
to beagl...@googlegroups.com
On Wednesday, December 10, 2014 5:53:42 AM UTC-8, RobertCNelson wrote:
I'm not really planning to document v3.14.x further, as something
special is planned to be merged for v3.19-rc1. (if your following the
device-tree mainline list)
Can you kindly point me to any info about what 3.19 is going to bring? Thanks! 

Robert Nelson

unread,
Dec 27, 2014, 5:15:29 PM12/27/14
to Beagle Board
Where's the fun in that! ;) It's what "everyone" has been bugging me
about personally and on this list for over a year. ;) if you can't
find it on the device-tree mailing list, you "didn't" want it bad
enough!!! ;)

(Sarcasm!!! ;))

Charles Steinkuehler

unread,
Dec 27, 2014, 5:36:33 PM12/27/14
to beagl...@googlegroups.com
A late holiday present, since RCN seems to be camped out a bit too close
to the eggnog! :)

It's device-tree changesets. This is basically what cape manager was
trying to do, but with the full support of the kernel developers behind
it which will hopefully result in fewer kernel crashes! :)

...some links to get you started:

http://beagleboard.org/blog/2014-08-27-device-tree-overlay-support-lands-upstream/

http://lxr.free-electrons.com/source/Documentation/devicetree/changesets.txt

--
Charles Steinkuehler
cha...@steinkuehler.net

Rick Mann

unread,
Dec 27, 2014, 7:10:32 PM12/27/14
to beagl...@googlegroups.com
So, when I tried to run a 3.18 kernel, I ran into two issues. One was the missing capemgr, and I couldn't figure out how to make DTBs do what I wanted. The other was difficulty playing back audio via libao and alsa. Dropping back to 3.8 addressed both those issues.

I'm going to be designing a proper cape next month that includes an I2S audio codec, as well as PRU real-time GPIO use, and ADC use (not speed-critical). I'd love to know that I won't be dying if I try to build the support for that cape around 3.19. Any ideas about why audio had issues in 3.18 and not 3.8?

The symptom was clicky/poppy playback. I think it sounded like what a buffer underrun would sound like.
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.


--
Rick Mann
rm...@latencyzero.com


Thorsten von Eicken

unread,
Dec 27, 2014, 8:10:31 PM12/27/14
to beagl...@googlegroups.com
Thanks for the links! Much preferred over Robert's sarcasm. I know I'm not part of the BBB's "in" crowd. I don't have time for it, however interesting it is. I want to buy BBBs and use them and if I can't use them, I will buy something else, as simple as that...

Charles Steinkuehler

unread,
Dec 27, 2014, 8:29:35 PM12/27/14
to beagl...@googlegroups.com
Well I'm not sure if it's RCN camped out too close to the eggnog or me
sitting too close to the mulled wine, but happy holidays regardless! :)

Seriously, the issues with the BeagleBone and kernels goes back to
before the Linus device-tree rant:

http://article.gmane.org/gmane.linux.ports.arm.omap/55060

...and the 'Bone community (and the rest of the ARM ecosystem) has been
trying to deal with the fall-out ever since.

I think with the conversion to using device-tree, and the acceptance of
device-tree changesets into mainline, things are _finally_ going to
stabilize (fingers crossed!), but there's still probably a bit of churn
we'll have to live through for the near term.

As the Chinese curse goes: "May you live in interesting times"!
>> cha...@steinkuehler.net <javascript:>
>>
>


--
Charles Steinkuehler
cha...@steinkuehler.net

Robert Nelson

unread,
Dec 27, 2014, 8:51:58 PM12/27/14
to Beagle Board
On Sat, Dec 27, 2014 at 7:29 PM, Charles Steinkuehler
<cha...@steinkuehler.net> wrote:
> Well I'm not sure if it's RCN camped out too close to the eggnog or me
> sitting too close to the mulled wine, but happy holidays regardless! :)
>
> Seriously, the issues with the BeagleBone and kernels goes back to
> before the Linus device-tree rant:
>
> http://article.gmane.org/gmane.linux.ports.arm.omap/55060
>
> ...and the 'Bone community (and the rest of the ARM ecosystem) has been
> trying to deal with the fall-out ever since.
>
> I think with the conversion to using device-tree, and the acceptance of
> device-tree changesets into mainline, things are _finally_ going to
> stabilize (fingers crossed!), but there's still probably a bit of churn
> we'll have to live through for the near term.
>
> As the Chinese curse goes: "May you live in interesting times"!

It's really been a long road. ;)

The original board file and "cape-bus" was posted for v3.2.x and
rejected along with linus' rant.. (think about that, we are in
v3.19-rc merge right now!)

Then the "capemgr" was posted for v3.8.x, also denied...

It's a miracle the basis "overlay" is actually mainline now!

William Hermans

unread,
Dec 27, 2014, 11:41:38 PM12/27/14
to beagl...@googlegroups.com
Thanks for the links! Much preferred over Robert's sarcasm. I know I'm not part of the BBB's "in" crowd. I don't have time for it, however interesting it is. I want to buy BBBs and use them and if I can't use them, I will buy something else, as simple as that...

So how does one read / take this post ? Something like - you're too lazy to do some reading on your own, and prefer to have everyone else get everything working for you ? If this is in fact the case I say have fun with <whatever> other platform . . .

John Syn

unread,
Dec 28, 2014, 2:54:16 PM12/28/14
to beagl...@googlegroups.com

From: Thorsten von Eicken <tvone...@gmail.com>
Reply-To: "beagl...@googlegroups.com" <beagl...@googlegroups.com>
Date: Saturday, December 27, 2014 at 5:10 PM
To: "beagl...@googlegroups.com" <beagl...@googlegroups.com>
Subject: Re: [beagleboard] How to make BBB pins work after Ubuntu Trusty install?

Thanks for the links! Much preferred over Robert's sarcasm. I know I'm not part of the BBB's "in" crowd. I don't have time for it, however interesting it is. I want to buy BBBs and use them and if I can't use them, I will buy something else, as simple as that...
You really shouldn’t be so sensitive if you work on Linux, because we have all been criticized from time to time. Learn from what Robert said and it will make you smarter. If you had to answer the same questions from newbies all day long for the last several years, you too would says something like this. Robert is one of the most helpful people you will find and he works very hard to make the rest of us look good. BTW, there is no “in crowd”; we are all individuals who give of our free time to help others. My hope is that as you learn, you too will assist those who are just starting out. 

Regards,
John
--
Reply all
Reply to author
Forward
0 new messages