It works! The trick was: The firmware was bricked and needed to be restarted (unplugged & plugged back in after the system was configured & started up). Once I got it restarted, I could power down & up and it would continue to work.
So, the trick to getting this device to work on the Beaglebone Black is the following: Build a custom kernel and include the radio drivers for the si470x install base image: bone-debian-7.6-console-armhf-2014-09-04-2gb.img on a SD card On a linux box: Load pre-requisites for building ti graphics SDK and build it for the kernel #sudo apt-get install git build-essential device-tree-compiler lzma lzop u-boot-tools libncurses5-dev #git config —global user.name “name” #git config —global user.email “email” #git clone https://github.com/RobertCNelson/ti-linux-kernel-dev.git #cd ti-linux-kernel-dev #git checkout 3.14.19-ti-r27 #./build_kernel Select kernel modules to enable si470x radio tuner hardware (more stuff will be added after that) Check Device Drivers -> Multimedia Support -> AM/FM radio receivers/transmitter support Radio Adaptors will be added. Check Radio Adaptors -> Silicon Labs Si470x FM Radio Receiver Support Check Radio Adaptors -> Silicon Labs Si470x FM Radio Receiver Support -> Silicon Labs Si470x FM Radio Receiver Support with USB Build the kernel Insert the SD card on the Linux system #nano system.sh MMC=/dev/sdb Deploy the new kernel #sudo ./tools/install_kernel.sh Remove the SD card and insert into Beaglebone and boot it Upgrade the image to latest repositories #sudo apt-get update #sudo apt-get upgrade Install alsa sound drivers (support for playing wav and mp3) #sudo apt-get install libasound2 alsa-base alsa-utils alsamixergui alsaplayer-text alsaplayer-common Install FM radio tuner drivers #sudo apt-get install firmware-realtek radio v4l-utils fmtools Modify the ALSA config to allow the USB sound card to be the primary sound card Skip this step is you are using HDMI or a cape as your sound card USB Sound card = vid 0xd8c pid 0x000c (use dmesg to find the vid and pid of your device) InstantFM = vid 0x06e1 pid 0xa155 #sudo nano /etc/modprobe.d/alsa-base.conf options snd-usb-audio index=0,1 vid=0x0d8c,0x06e1 pid=0x000c,0xa155 #sudo reboot After the reboot and login, if this is the first time you've attempted to use the device, unplug it, wait a bit and plug it back in. This will reset the device and make it functional. Test the radio Open a terminal and run radio to scan for stations and bring up an interface to select a station #radio -s To tune from the command line, use the following: #v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=90.1 --all Open another terminal and run a mixer to set the volume levels #alsamixer Open another terminal to re-direct the audio stream from the USB tuner to the audio card #arecord -D hw:1,0 -c2 --format=S16_LE -r48000 | aplay You can change stations using radio (or v4l2-ctl), change volume using mixer -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
