Controlling Griffin's RocketFM under Linux (rocket.c)

I'm using modified version of Michael Rolig’s shark.c (original mirror)application to control my RocketFM from Linux and I released the new tool rocket.c. Hidapi version: rocket_hidapi.c Owners of Griffin's RocketFM now can control this little FM  transmitter under Linux.

Avaliable options:

  • Changing frequency from 88.1 to 107.9 Mhz (but You can use range from 70 to 120 Mhz).
  • Changing transmitting mode (mono/stereo).

So how to get RocketFM working under Ubuntu/Debian?

  1. Plug the RocketFM in the USB port, you’ll get this in dmesg:

    usb 1-6: new full speed USB device using ohci_hcd and address 2
    usbcore: registered new interface driver hiddev
    input: Griffin Technology, Inc. RocketFM as /dev/input/input6
    input,hidraw0: USB HID v1.00 Device [Griffin Technology, Inc. RocketFM] on usb-0000:00:02.0-6
    usbcore: registered new interface driver usbhid
    /build/buildd/linux-2.6.24/drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
    usbcore: registered new interface driver snd-usb-audio

  2. Install libhid-dev from repository's:
    # apt-get install libhid-dev
  3. Download rocket.c
    # wget
  4. Compile rocket.c using
    # gcc -g -o rocket -lhid rocket.c
  5. Copy rocket to /usr/local/bin
    # cp rocket /usr/local/bin
  6. Check that executable is working:
    # /usr/local/bin/rocket
  7. Turn on your favorite player (xmms, mpd, amarok or gnomad) and let it play to usbaudio device.
  8. Change your station frequency:
    # /usr/local/bin/rocket -freq 102.7
    Or if you want to stream mono sound:
    # /usr/local/bin/rocket -freq 102.7 -m

Inside Device:

  1. UAC3556B (usb audio processor)
  2. 24LC128 (firmware & config for usb chip)
  3. BH1415 (FM TX chip)


  1. The hardware design allows us to switch on/off blue light, but I have not been able to realize it, I think that problem is in firmware.


Thank you very much for that.

Thank you very much for that.

For anyone on Ubuntu 11.04 (not sure about other versions), libhid-dev seems to be missing from the default repos.

I downloaded it from See the dpkgs in the .tar.gz attached. I also had to install libusb-dev to install those packages.

To get my applications to use the RocketFM device, I also installed Pulse Audio Device Chooser as per this thread Works well.

Again, thanks.

Awesome! Just what I have

Awesome! Just what I have been looking for, set this up on my netbook and allows me to DJ at parties to existing radios keeping my system a safe distance from unwanted accidents. Thanks a bunch!

Hi! First of all, thank you!


First of all, thank you! I've been looking for a tool like this, and it seems perfect for what I need!

One little problem, though - I'm getting an error

"hid_force_open failed with return code 12"

when I try to change the frequency. Do you have any suggestions on how to fix this?

Try running as root, I got

Try running as root, I got that error the first time I tried the code as a normal user as it didn't have the permissions needed to send raw HID commands.

I set root as owner of the rocket executable and set the sticky bit so it always run with root privileges.

In most cases that meens,

In most cases that meens, your RocketFM is not connected. The application can't find usb hid device with id 077d:0503.

This is awesome! Exactly what

This is awesome! Exactly what I was looking for. Is there anything special I need to do to stop using the RocketFM transmitter? Say I'm using it and I decide I want to use my computer speakers or the line out. Do I just unplug the RocketFM from the USB port? I'm guessing I'd at least need to switch my software music player to a different output device. Thanks!

I have ADS and Elgato device,

I have ADS and Elgato device, very interested in Linux use. Preferibly several devices at one system in parallel. If you desire some OSX info/stuff you can email to me

Good news! Thnx.

Good news! Thnx.