Skip to content

Instantly share code, notes, and snippets.

@samrocketman
Last active February 22, 2023 14:41
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samrocketman/4749ef939f6e43e32923fe608de5bb07 to your computer and use it in GitHub Desktop.
Save samrocketman/4749ef939f6e43e32923fe608de5bb07 to your computer and use it in GitHub Desktop.
Connecting my SENA device via USB on Linux to update the firmware

Update SENA from Linux

In May, 2016, I completely switched all of my home computing environments to Linux. As a result, I've had to find workarounds for things which require Windows. This article outlines my first attempt to update my SENA 10S helmet communicator from KUbuntu 16.04 Linux.

What works and what doesn't

If you follow this guide, I'll state up front what success you'll expect.

  • Installing the Sena Device Manager works.
  • Connecting SENA 10S via USB works.
  • SENA 10S settings configuration works. Updating all SENA settings from the Sena Device Manager behaves as expected.

Here's where I failed at. If you're looking to do something which I failed at then you might want to skip reading this article.

  • Updating the SENA 10S firmware failed. The 10S gets through about 97% of it's firmware upgrade before it no longer works. In the future, I'll make a second attempt using VMWare instead of VirtualBox. My device did not brick or misbehave after the failed update. Sena simply used the old version of the firmware (Good job SENA!).

My environment

My computer

$ head -n1 /etc/issue
Ubuntu 16.04.1 LTS
$ uname -rms
Linux 4.4.0-34-generic x86_64
$ lspci | grep -i usb
00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
04:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller

I have a SENA 10S helmet communicator.

$ lsusb | grep -i sena
Bus 003 Device 005: ID 092b:5530 Sena Technologies, Inc.

Install and setup VirtualBox

Note: I use sudo -i to switch to root user. In the below usermod example my username is sam. User your own username instead.

Open a terminal and install virtualbox.

#virtualbox-ext-pack is required for USB 2/3 support
apt-get install virtualbox virtualbox-ext-pack
#Your user must be in the vboxusers group for virtualbox to see USB devices
usermod -a -G vboxusers sam

The virtualbox software is now ready for USB support. Reboot your computer.

Get a free copy of Windows

Fortunately, web searching for modern ie returns results for legal, Microsoft-provided, copies of Windows. The intention of these copies is for browser testing but works just fine as a temporary trial edition to setup your SENA.

  • Download a Windows VM. In my case, I chose the IE11 on Win7 virtual machine and selected VirtualBox as the platform.
  • Unzip the zip file of the OVA.
  • Open VirtualBox, in the menu select Import Appliance.
  • Choose the extracted OVA file as the appliance.
  • Choose 1 or more CPUs (depending on your computer)
  • I recommend at least 4GB of RAM (I chose 16GB because I have gobs of RAM).
  • Click next to import the appliance. At the end, you should have a new VirtualBox computer configured with Windows installed.

IMPORTANT: Before starting your Windows VBox computer take a snapshot. This will give you a state to revert back when the Windows trial expires. You'll have to re-setup everything (after 90 days) but you won't have to download the VBox appliance again.

  • Click on the machine settings, under USB ensure that you have selected USB 2.0 (EHCI) Controller. SENA requires at least USB 2.0 to behave properly. If you choose USB 3.0 then Windows 7 will not recognize the controller.
  • Start your VBox computer so that Windows boots up.
  • After Windows is booted be sure to install VirtualBox Guest Additions for your version of VirtualBox. Do this by selecting in the menu Devices > Insert Guest Additions CD Image.

Windows is now ready.

Auto-connect SENA to VirtualBox

There's one final optional step (for convenience): auto-connecting your SENA to VirtualBox when you plug it in. If your Windows VM is running, then shut it down for this configuration. Instructions for your device may vary.

  • Ensure that your SENA 10S is powered off.

  • Plug in your SENA 10S via USB.

  • Hold down the Phone Button for 5 seconds.

  • Your SENA should now be connected. View the details of your device.

    $ lsusb | grep -i sena
    Bus 003 Device 005: ID 092b:5530 Sena Technologies, Inc.
    $ lsusb -d 092b:5530 -v
    ...[truncated output]
    
  • Go to VirtualBox Manager (while the Windows computer is powered off). View the virtual machine settings.

  • Click on USB and off to the right there are tiny icons for adding and removing USB filters.

  • Add a new USB filter. In my case, I filled out the following settings.

    • Name: Sena 10S (my own description of the device)
    • Vendor ID: 092b (taken from idVendor in lsusb output)
    • Product ID: 5530 (taken from idProduct in lsusb output)
    • Manufacturer: Sena Technologies, Inc. (taken from iManufacturer in lsusb output)
    • Product: 10S (taken from iProduct in lsusb output)
  • The rest of the USB filter settings I left alone. The fewer details you add to the filter the more broadly devices will match (e.g. you can just specify only the Vendor ID and Manufacturer to match all SENA devices).

Your machine is ready

Power on your Windows machine, install the SENA software and follow the manufacturer's recommendations on how to update the firmware.

@samrocketman
Copy link
Author

samrocketman commented Aug 10, 2016

@samrocketman
Copy link
Author

samrocketman commented Jan 11, 2017

Settings

Radio (SoCal)

  • 89.3
  • 93.1
  • 95.5

@figure002
Copy link

Thanks for the tutorial! I tried this with my SENA 10U and was actually able to perform a firmware upgrade. It did get stuck at 85% where it asks you to press the [-] button (which had no effect), but all I had to do was disconnect the SENA and then reconnect it again, and then it would automatically continue.

@ClothoMoirai
Copy link

ClothoMoirai commented Apr 20, 2019

Thanks for this. I just tried it and it worked. I did find a way to prevent the manual reconnect issue that works at least in VB 5.2.18 with my 20S:
In the VM settings go to the USB pane. Click the USB + icon and select the entry for the Sena headset. I got two entries that display as "Sena Technologies, Inc. [0126]" and added both. Once I did the issue of hanging near the end went away.

@samrocketman
Copy link
Author

I wrote an updated guide which makes it easier to get started with Windows using Vagrant as automation. https://sam.gleske.net/blog/engineering/2021/08/25/windows-on-linux-sena-firmware.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment