Skip to contentSkip to conversation

new TI kernel version for beaglebone black

Buildroot Dan Pattison 6 participants 10 messages May 30, 2014 – Jun 9, 2014

lore
Share & tools
lore
#0 lore raw

Hello All,

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected.
The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer custom repository version? I tried to find my answer with google, but I must not be using the correct search term. Please excuse the newbish questions.

Thank you,

Signature · 2 lines
Dan Pattison
Ethertek Circuits
#1 lore raw

Hello Dan,

Quoted 13 lines · Dan Pattison

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 5 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected.
The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

I'm using the default beaglebone_defconfig on BBB and USB hotplug works fine. In the default kernel config the options are selected as modules, so you have to load them:

  $ modprobe musb_am335x
  $ modprobe musb_dsps

After that, outputs in dmesg will tell you that the USB port is found (short version) and USB hotplug will work (I just tested).

Quoted 6 lines

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer custom repository version? I tried to find my answer with google, but I must not be using the correct search term. Please excuse the newbish questions.

Regards,

Hadrien

#2 lore raw
Quoted 37 lines · Hadrien Boutteville

Hello Dan,

Quoted 13 lines · Dan Pattison

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 5 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected.
The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

I'm using the default beaglebone_defconfig on BBB and USB hotplug works fine. In the default kernel config the options are selected as modules, so you have to load them:

   $ modprobe musb_am335x
   $ modprobe musb_dsps

After that, outputs in dmesg will tell you that the USB port is found (short version) and USB hotplug will work (I just tested).

Quoted 6 lines

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer custom repository version? I tried to find my answer with google, but I must not be using the correct search term. Please excuse the newbish questions.

Quoted 4 lines

Regards,

Hadrien

Hello Hadrien,

Thanks for the help. I had the drivers compiled into he kernel not as modules. When I reverted my changes back to module and added depmod to busybox, then things started to happen. Again, thanks for the help.

Best Regards,

Dan Pattison
Ethertek Circuits

#3 lore raw

Dan,

Quoted 34 lines · Dan Pattison
Quoted 33 lines · Hadrien Boutteville

Hello Dan,

Quoted 13 lines · Dan Pattison

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 5 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected.
The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

I'm using the default beaglebone_defconfig on BBB and USB hotplug works fine. In the default kernel config the options are selected as modules, so you have to load them:

   $ modprobe musb_am335x
   $ modprobe musb_dsps

After that, outputs in dmesg will tell you that the USB port is found (short version) and USB hotplug will work (I just tested).

Regards,

Quoted 7 lines
Quoted 2 lines

Hadrien

Hello Hadrien,

Thanks for the help. I had the drivers compiled into he kernel not as modules. When I reverted my changes back to module and added depmod to busybox, then things started to happen. Again, thanks for the help.

From what you said I understood that you were using the default kernel config in beaglebone_defconfig almost unchanged ;-).

Well, I'm using the drivers compiled into the kernel and it works fine too. Make sure you selected those options in your kernel config:

USB_MUSB_DUAL_ROLE=y
USB_MUSB_HDRC=y
USB_MUSB_DSPS=y
USB_MUSB_AM335X_CHILD=y

Regards,

Hadrien

#4 lore raw
Quoted 50 lines · Hadrien Boutteville

Dan,

Quoted 34 lines · Dan Pattison
Quoted 33 lines · Hadrien Boutteville

Hello Dan,

Quoted 13 lines · Dan Pattison

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 5 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected.
The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

I'm using the default beaglebone_defconfig on BBB and USB hotplug works fine. In the default kernel config the options are selected as modules, so you have to load them:

    $ modprobe musb_am335x
    $ modprobe musb_dsps

After that, outputs in dmesg will tell you that the USB port is found (short version) and USB hotplug will work (I just tested).

Regards,

Quoted 8 lines
Quoted 2 lines

Hadrien

Hello Hadrien,

Thanks for the help. I had the drivers compiled into he kernel not as modules. When I reverted my changes back to module and added depmod to busybox, then things started to happen. Again, thanks for the help. From what you said I understood that you were using the default kernel

config in beaglebone_defconfig almost unchanged ;-).

Well, I'm using the drivers compiled into the kernel and it works fine too. Make sure you selected those options in your kernel config:

Quoted 9 lines
   USB_MUSB_DUAL_ROLE=y
   USB_MUSB_HDRC=y
   USB_MUSB_DSPS=y
   USB_MUSB_AM335X_CHILD=y

Regards,

Hadrien

Hi Hadrien,

Again you are correct. I think I had the wrong glue layer selected. It all works now with the driver compiled into the kernel.

Thanks, you rock!

Dan Pattison
Ethertek Circuits

#5 lore raw
In reply to Dan Pattison
Quoted 10 lines · Dan Pattison

Hello All,

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 3 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected. The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

BTW, does someone know how this repository relates to
https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git?

Is the ti-linux-kernel repository _THE_ reference for TI kernels or are there better starting points?

When looking for kernel sources also the Arago projects pops up and for sure Linaro.

Does someone have a link or an explanation how all these repositories relate? That would be great!

Many thanks,
Peter

Quoted 10 lines

The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer custom repository version? I tried to find my answer with google, but I must not be using the correct search term. Please excuse the newbish questions.

Thank you,

#6 lore raw

2014-06-01 5:39 GMT-03:00 Peter K?mmel <[email protected]>:

Quoted 52 lines · Dan Pattison
Quoted 18 lines

Hello All,

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to
build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up
and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and
USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work
at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB
hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because
beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 4 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected. The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

BTW, does someone know how this repository relates to
https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git?

Is the ti-linux-kernel repository _THE_ reference for TI kernels or are there better starting points?

When looking for kernel sources also the Arago projects pops up and for sure Linaro.

Does someone have a link or an explanation how all these repositories relate?
That would be great!

Many thanks,
Peter

The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824

Quoted 10 lines

The def config is board/beaglebone/linux-3.12.config

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious
site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer
custom repository version? I tried to find my answer with google, but I must not be using the correct search term.
Please excuse the newbish questions.

Quoted 8 lines
Quoted 3 lines

Thank you,

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

?
Hi, I would like to add more questions on the discussion, that again is not related to buildroot.? First off all I'm really a newbie on embedded linux development.

I'm also working on a beaglebone black project using buildroot to build all. Recently I need to change some pin modes, and every googling about it, leads to capemanager, witch is provided by 'beagleboard kernel' (
https://github.com/beagleboard/kernel). Also every one saying something about compile a kernel to beaglebone points to this kernel (the 3.8 version).

So I've decided to change things on my project to build this kernel outside buildroot. But I'm not sure about this, witch is the recommended kernel to use with beaglebone black?

Jer?nimo Lopes?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140602/62555503/attachment.html>

#7 lore raw
Quoted 74 lines · Jer?nimo Lopes

2014-06-01 5:39 GMT-03:00 Peter K?mmel <[email protected]>:

Quoted 54 lines · Dan Pattison
Quoted 18 lines

Hello All,

I have a question that is probably not 100% buildroot related, but was hoping to get some help. I am using buildroot to
build a kernel and rootFS for a beaglebone black. Buildroot is awesome and builds everything fine. The board boots up
and all packages work properly. Unfortunately, USB seems to be badly broken. In the kernel I have USB driver enabled and
USB Announce New Devices turned on. Googling around I find several people with the same problem, hotplug does not work
at all, and no device I have tried shows up in dmesg or lsusb on cold or warm boot. A band aid is to use a powered USB
hub (have not tried that). Some guys on the beagleboard.org IRC say to try a newer kernel version (3.14 or >) because
beaglebone USB is fixed in newer kernel versions. Current buildroot beaglebone black kernel version is 3.12.10

Quoted 3 lines

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected. The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

BTW, does someone know how this repository relates to
https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git?

Is the ti-linux-kernel repository _THE_ reference for TI kernels or are there better starting points?

When looking for kernel sources also the Arago projects pops up and for sure Linaro.

Does someone have a link or an explanation how all these repositories relate?
That would be great!

Many thanks,
Peter

Quoted 12 lines

The custom repository version is 7f280334068b7c875ade51f8f3921ab311f0c824 The def config is board/beaglebone/linux-3.12.config

How was the custom repository number (7f280334068b7c875ade51f8f3921ab311f0c824) derived? Looking on the TI gitorious
site, I see they are working on kernel 3.15. How can I make buildroot use the newer version? How do I find the newer
custom repository version? I tried to find my answer with google, but I must not be using the correct search term.
Please excuse the newbish questions.

Quoted 7 lines
Quoted 2 lines

Thank you,

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Hi, I would like to add more questions on the discussion, that again is not related to buildroot. First off all I'm really a newbie on embedded linux development.

I'm also working on a beaglebone black project using buildroot to build all. Recently I need to change some pin modes, and every googling about it, leads to capemanager, witch is provided by 'beagleboard kernel'
(https://github.com/beagleboard/kernel). Also every one saying something about compile a kernel to beaglebone points to this kernel (the 3.8 version).

Quoted 3 lines

So I've decided to change things on my project to build this kernel outside buildroot. But I'm not sure about this, witch is the recommended kernel to use with beaglebone black?

I'd say, just use the latest kernel
(https://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-3.15-rc8.tar.xz)
and your custom DTS file to reflect your pinmux. Also take a look at FIT concept (http://elinux.org/images/f/f4/Elc2013_Fernandes.pdf),
where you can embed multiple DTB files for different configurations.

Yegor

#8 lore raw
In reply to Jerônimo Lopes
Quoted 10 lines · Jer?nimo Lopes

I'm also working on a beaglebone black project using buildroot to build all. Recently I need to change some pin modes, and every googling about it, leads to capemanager, witch is provided by 'beagleboard kernel'
(https://github.com/beagleboard/kernel). Also every one saying something about compile a kernel to beaglebone points to this kernel (the 3.8 version).

So I've decided to change things on my project to build this kernel outside buildroot. But I'm not sure about this, witch is the recommended kernel to use with beaglebone black?

I'd be inclined to agree with the previous response that you got.

Try the latest (currently 3.15) from mainline. If you need support for something that doesn't work there, I'd check the TI tree.

If you want to use / need the capemgr (to more easily support multiple capes, especially if you like to switch between a number of capes), then the 3.8 version
from https://github.com/beagleboard/kernel is likely your best bet.

There's no need to go to https://github.com/beagleboard/kernel just because of pinmuxing. For that, just make sure that you customize your DTS to add your specific configuration.

Cheers,
Anders

Signature · 4 lines
Anders Darander
EPO guidelines 1978: "If the contribution to the known art resides
solely in a computer program then the subject matter is not
patentable in whatever manner it may be presented in the claims."
#9 lore raw
In reply to Peter Kümmel
Quoted 8 lines · Peter K?mmel
Quoted 3 lines · Dan Pattison

In buildroot I used make beaglebone_defconfig.
Under the Kernel menu, Custom Git repository is selected. The git URL is https://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

BTW, does someone know how this repository relates to
https://git.kernel.org/cgit/linux/kernel/git/arm/arm-soc.git?

The arm-soc.git repository is the integration repository controlled the by maintainers
of the arm architecture in the Linux kernel. Thus, this is the last step before getting your
patches into the mainline kernel. (Linus pulls from arm-soc.git among other repos).

The TI repo is were TI themselves develops (at least it's the externally visible point) the
kernels for their own SoC's and BSP's. This means that normally you'll have better SoC
support (support for more peripherals) in the vendor tree (i.e. the TI repo). However,
you can'? be sure that when (if) support for these peripherals goes into the mainline kernel,
that their interface will always be exactly the same as in the TI repo. The review process
for the mainline kernel might require further changes, that's currently not reflected in the
TI repo.

Quoted 5 lines

Is the ti-linux-kernel repository _THE_ reference for TI kernels or are there better starting points?

When looking for kernel sources also the Arago projects pops up and for sure Linaro.

Arago is one of TI's embedded distributions. Currently it's a layer for OpenEmbedded.

Then there's also the paches that you can find in
https://github.com/beagleboard/kernel. This
is yet another kernel for the SoC's in the Beagle* family of boards. Instead of keeping a patched
kernel in this repo, they're keeping a set of patches to be applied to a mainline kernel. This repo,
and their 3.8 branch is likely what you want if you need support for capemgr etc.

Personally, unless I need some specific perifpheral that I can only get from a certain tree, I usually
prefer mainline kernels. In this specific case, I've mostly been using the TI repository (as you can
guess from my occasional updates to the beaglebone_defconfig).

Quoted 3 lines

Does someone have a link or an explanation how all these repositories relate?
That would be great!

Well, not a link but a short summary of what I've learned playing around with primarily the BeagleBone,
but also a number of other TI SoC's.

Cheers,
Anders

Signature · 4 lines
Anders Darander
EPO guidelines 1978: "If the contribution to the known art resides
solely in a computer program then the subject matter is not
patentable in whatever manner it may be presented in the claims."