[MinnowBoard] Adding Bluetooth modules to Angstrom kernel
Darren Hart
dvhart at linux.intel.com
Mon Aug 25 14:54:44 UTC 2014
Nice job.
What jumps out at me is the IMAGE_INSTALL* lines. I think what you want is
an image feature like "tools-sdk" and "dev-pkgs" added to IMAGE_FEATURES
instead of adding these individually.
IMAGE_FEATURES += "tools-sdk dev-pkgs"
Of course, that's assuming you actually want to build on the Minnowboard
rather than on the host - and I try to avoid building on my targets as much
as possible :-)
Thanks for following up and sharing your experience. I'd like to see these
instructions added to the elinux wiki for the Minnowboard.
I'd also appreciate a patch adding the bluetooth fragment to meta-minnow.
Thanks,
--
Darren Hart Open Source Technology Center
darren.hart at intel.com Intel Corporation
From: Robert <robertdegruijl at hotmail.com>
Reply-To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Date: Monday, August 25, 2014 at 11:39
To: MinnowBoard Development and Community Discussion
<elinux-minnowboard at lists.elinux.org>
Subject: Re: [MinnowBoard] Adding Bluetooth modules to Angstrom kernel
> Hey Darren,
>
> Thanks for this little goldmine of info! I managed to pair my phone with my
> Minnowboard through bluetooth. Not without trial and error, so let me recount
> my steps for anyone who's interested:
>
> Per your suggestion I added a reference to a new file bluetooth.cfg to the
> SRC_URT in my linux-yocto_3.10.bbappend file. I added the following config
> options to get it to work, likely a few of these are not required:
>
> CONFIG_BT=m
> CONFIG_BT_RFCOMM=m
> CONFIG_BT_RFCOMM_TTY=y
> CONFIG_BT_BNEP=m
> CONFIG_BT_BNEP_MC_FILTER=y
> CONFIG_BT_BNEP_PROTO_FILTER=y
> CONFIG_BT_CMTP=m
> CONFIG_BT_HIDP=m
> CONFIG_BT_L2CAP=m
> CONFIG_BT_SCO=m
> CONFIG_BT_HCIUSB=m
> CONFIG_BT_HCIUSB_SCO=m
> CONFIG_BT_HCIBTUSB=m
> CONFIG_BT_HCIBTSDIO=m
> CONFIG_BT_HCIUART=m
> CONFIG_BT_HCIUART_H4=y
> CONFIG_BT_HCIUART_BCSP=y
> CONFIG_BT_HCIUART_ATH3K=y
> CONFIG_BT_HCIUART_LL=y
> CONFIG_BT_HCIUART_3WIRE=y
> CONFIG_BT_HCIBCM203X=m
> CONFIG_BT_HCIBPA10X=m
> CONFIG_BT_HCIBFUSB=m
> CONFIG_BT_HCIDTL1=m
> CONFIG_BT_HCIBT3C=m
> CONFIG_BT_HCIBLUECARD=m
> CONFIG_BT_HCIBTUART=m
> CONFIG_BT_HCIVHCI=m
> CONFIG_BT_MRVL=m
> CONFIG_BT_MRVL_SDIO=m
> CONFIG_BT_ATH3K=m
> CONFIG_BT_WILINK=m
>
> Initially I thought adding all my desired packages to
> setup-scripts/conf/local.conf was a great idea, but it's not trivial. For
> example, even adding all this:
>
> IMAGE_INSTALL_append=" make"
> IMAGE_INSTALL_append=" gcc"
> IMAGE_INSTALL_append=" libgcc"
> IMAGE_INSTALL_append=" binutils"
>
> does not give me a healthy gcc environment, I have to go in and do a
>
> opkg install gcc-dev
>
> on the minnowboard after building and downloading the image in order to get
> the full set of gcc header files in /usr/include. I did not find this gcc-dev
> as part of the list shown by 'bitbake-layers show-recipes'. Let me know if I
> missed a 'super' package taking care of all these dependencies.
>
> Similarly, other packages I tried to install were incomplete. Most notably,
> the 'bluez-simple-agent' script, useful for bluetooth pairing, did not appear
> in the image after installing the bluez4 package, so I had to snatch that from
> my Ubuntu system. So next time, I'd probably build a clean systemd-image and
> install everyting using opkg.
>
> Once the image was built, written to SD (I tried a 64GB microsd card, but that
> uses an exfat file system which ran into trouble, so I reverted to an 8GB
> microsd) and booted on my Minnowboard, I could pair using the following
> commands on the minnowboard:
>
> -----------------------------
> systemctl enable bluetooth.service # only had to do this once,
> rfkill unblock all && rfkill list # apparently this releases
> bluetooth device
> hciconfig hci0 up piscan
> hciconfig hci0 name minnow
> hciconfig hci0 sspmode 1 # Simple pairing mode, no passwords
> hciconfig hci0
> sdptool add SP # Serial protocol between phone
> and minnow
> hcitool scan #lists available devices, my
> phone was found
>
> bluez-simple-agent hci0 <my phone mac address> # Note I had to copy this
> script from another system, it was not on my image
>
> # Minnow and phone will ask a few questions, after which they are paired
> # Now set up serial connection through phone
>
> rfcomm listen hci0 &
>
> # Now I start a 'Bluetooth Terminal' app on my android phone, and connect to
> my paired minnow. Once connection is set up, I now have a /dev/rfcomm0 in my
> minnowBoard. Test out serial communication:
>
> minicom -D /dev/rfcomm0
>
> # now I can type text between phone and minnowboard.
>
> --------------------------------------
>
> Let me know if there are better methods you guys have found, and thanks again
> Darren for your help.
>
> Robert
>
>
>
>
>
>
>
>
>
>
> Date: Wed, 20 Aug 2014 11:54:23 -0500
> From: dvhart at linux.intel.com
> To: elinux-minnowboard at lists.elinux.org
> Subject: Re: [MinnowBoard] Adding Bluetooth modules to Angstrom kernel
>
> From: Robert <robertdegruijl at hotmail.com>
> Reply-To: MinnowBoard Development and Community Discussion
> <elinux-minnowboard at lists.elinux.org>
> Date: Tuesday, August 19, 2014 at 22:59
> To: "." <elinux-minnowboard at lists.elinux.org>
> Subject: [MinnowBoard] Adding Bluetooth modules to Angstrom kernel
>
>> Hi,
>>
>> I'm trying to use a usb bluetooth adapter to work with a Minnowboard (LM506,
>> which has a Broadcom Chipset). I installed Bluez, but I can't get it up and
>> running (e.g. hci_config fails), which is, from what I can tell, due to the
>> fact that my linux Angstrom kernel is missing bluetooth modules (at least
>> btusb, but maybe more). lsusb shows the broadcom chipset, lsmod shows no sign
>> of btusb, and n sign of any btusb.* on my micro-SD card that came with the
>> Minnowboard).
>>
>> I tried re-configuring the Angstrom kernel with bluetooth modules, but
>> apparently the image that got distributed wiht my Minnowboard does not even
>> have the sourcecode of these bluetooth kernel modules (no btusb.c anywhere).
>>
>> Does anyone know:
>>
>> - Is there anyway I can manually add the bluetooth modules to my Angstrom
>> kernel? Do I cross-compile a new Angstrom kernel from scratch and copy the
>> modules over to my Minnowboard? Is there an easier way?
>
> Angstrom is using the linux-yocto kernel, the recipe is in the meta-minnow
> layer. You'll find a configuration fragment in the meta-minnow linux-yocto
> recipe files dir which you can simply add the drivers you want to.
>
> The file you want to modify is this one:
> http://git.yoctoproject.org/cgit/cgit.cgi/meta-minnow/tree/recipes-kernel/linu
> x/linux-yocto_3.10.bbappend
>
> Add a file://bluetooth.cfg to the SRCURI. Then create a directory
> "linux-yocto" and add a configuration fragment called bluetooth.cfg. It should
> just be a subset of the Linux .config with the specific CONFIGs you need.
> E.g.:
>
> CONFIG_BLUETOOTH=m
>
> Please use modules over built-in whenever possible.
>
> Then send me a patch :)
>
>> - Can I re-compile my current angstrom kernel with bluetooth modules? Where
>> can I find the full source of the Angstrom distribution as it was compiled
>> for the Minnowboard, including these bluetooth modules? Just starting from
>> scratch from the source from angstrom-distribution.org
>> <http://www.angstrom-distribution.org/> seems insufficient, because there
>> seem to be multiple Minnowboard-specific modules I would be missing then).
>
> There are instructions for building Angstrom for Minnow, and that includes all
> the Yocto Project meta-data you need to do that, and that downloads all the
> sources.
>
> http://elinux.org/Minnowboard:Building_Angstrom_Linux_for_the_MinnowBoard
>
> --
> Darren
>
>>
>> Thanks!
>>
>>
>>
>>
>> _______________________________________________ elinux-MinnowBoard mailing
>> list
>> elinux-MinnowBoard at lists.elinux.orghttp://lists.elinux.org/mailman/listinfo/e
>> linux-minnowboard
>
> _______________________________________________ elinux-MinnowBoard mailing
> list elinux-MinnowBoard at lists.elinux.org
> http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
>
> _______________________________________________ elinux-MinnowBoard mailing
> list elinux-MinnowBoard at lists.elinux.org
> http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20140825/880664d5/attachment.html>
More information about the elinux-MinnowBoard
mailing list