solution is here
I posted a issue here in February and some guy suggested the solution: i.e. turn on CONFIG_MUSB_PIO_ONLY=Y
don’t have time to try this until yesterday
the new problem: how to compile a kernel for beaglebone and install it?
solution: follow instructions http://elinux.org/BeagleBoardUbuntu#Demo_Image
git clone git://github.com/RobertCNelson/linux-dev.git
git checkout origin/am33x-v3.2 -b am33x-v3.2
then error happened, through README, we should first
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Then update “LINUX_GIT” to “LINUX_GIT=~/linux-stable/” in system.sh to point to your new local kernel source copy.
note the directory is not necessary to be the home ~. the linux kernel is big.
also remember uncomment the cross compiler settings, in system.sh
during compiling, menuconfig will pop out, now we need to turn on CONFIG_MUSB_PIO_ONLY. don’t remember the detailed path, something like Drivers ->… -> USB -> … turn off DMA
after compiling, something will generated in ./deploy and now it’s ready to install the new kernel
insert sd card
error happened again. need to modify system.sh again:
run sudo fdisk -l to see the device of sd card, on my machine, it’s /dev/sdd
uncomment the MMC line and set MMC=/dev/sdd
run “./tools/load_uImage.sh” again, type yes if ask to confirm /dev/sdd
take out micro sd and insert into beaglebone, now no high cpu usage kworker shown up if I run arecord | aplay stuff.
tested my own algorithm, it takes less than 50% cpu. sound is pretty smooth.