Issue updating DWUSB


#1

Hello,

I’m having an issue updating our DWUSB devices. When I run DFU, the DWUSB devices show up as follows:

UWB DFU Loader 0.0.1.2
UWB DFU Downloader 0.0.4.1_sam-ba_only
FW version: 0.0.0.0

Connected Devices:
x [ Update ] /dev/ttyACM0 FF:FF:FFFF Ceramic Firmware - -> 0.0.0.0
[ Update ] /dev/ttyACM1 FF:FF:FFFF Ceramic Firmware - -> 0.0.0.0

Legend
[ENTER] Execute changes, [SPACE] Change action, [A] Keep all, [Q] Exit

Once the update has started, it never seems to finish. Here is the output from the debug log:

DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/tty/ttyACM1 added
DWUSB:: Failed to open device /dev/ttyACM1
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/tty/ttyACM0 added
DWUSB:: Failed to open device /dev/ttyACM0
DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.0/usb3/3-1/3-1:1.0/tty/ttyACM0 added
DWUSB:: Failed to open device /dev/ttyACM0
DWUSB:: Failed to open device /dev/ttyACM1
UI:: device /sys/devices/pci0000:00/0000:00:1c.4/0000:0d:00.0/usb3/3-1/3-1:1.2/tty/ttyACM1 added
DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/tty/ttyACM0 added
UI:: device /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.2/tty/ttyACM1 added
DWUSB:: Failed to open device /dev/ttyACM1
DWUSB:: Failed to open device /dev/ttyACM0
DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
DEV_MGR:: Info: returning DWUSB device (pid 2404)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/tty/ttyACM1 added
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/tty/ttyACM0 added
DWUSB:: Failed to open device /dev/ttyACM1
DWUSB:: Failed to open device /dev/ttyACM0
DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/tty/ttyACM1 added
DWUSB:: Failed to open device /dev/ttyACM1
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/tty/ttyACM0 added
DWUSB:: Failed to open device /dev/ttyACM0
DEV_MGR:: Info: Found new device with port 1
DEV_MGR:: Info: Found new device with port 0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/tty/ttyACM0 added
DWUSB:: Failed to open device /dev/ttyACM0
DEV_MGR:: Info: returning DWUSB device (pid 2404)
DWUSB:: Info: setting device type to Ceramic (vid ff)
UI:: device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/tty/ttyACM1 added
DWUSB:: Failed to open device /dev/ttyACM1

Any help would be greatly appreciated.

Thanks,

Neil


#2

Hello Neil,

Thank you for providing us with the loader’s log.

I have a couple of questions that will help us diagnose the issue better

  • What distribution and version of Linux is your computer running?
  • Have you updated the firmware on the DWUSB device before?
  • Does the DWUSB’s LED blink green every 3 seconds when it’s connected to USB?

From looking at the log, it seems that the device is not responding to the commands issued by the DFU. This can be caused by one of the following:

  1. There’s another application that’s trying to access the same USB port on the computer
    – Make sure that modem manager is not running on that PC (sudo apt-get remove modemmanager) on Ubuntu 14.04 or (sudo apt-get remove ModemManager) on Ubuntu 16.04.

  2. The device is stuck in an intermediate state
    – Try unplugging the device from USB for 5 seconds and connect it back in

  3. The device is flashed with a corrupted firmware (unlikely)
    – Check section 3.3 of the Troubleshooting section on the DFU Instructions document (here) for a recovery method.

Thanks,
Jawad


#3

Hi Jawad,

Thanks for your quick response!

I’m running Ubuntu 16.04.1.
I haven’t flashed the DWUSB device before
When I plug the DWUSB into the laptop, I see the LED blink green every 3 seconds.

I have removed ModemManager.
I have tried removing the DWUSB from the laptop for minutes at a time with no improvement. I have also tried several DWUSB devices.


#4

Hi Neil,

One other reason may be that your user is not given permission to access the serial ports.
This can be fixed by calling ‘sudo usermod -aG dialout [user name]’

Let me know if this helps so that we add it to the DFU instructions document

Thanks
Jawad


#5

Hi Jawad,

I tried out ‘sudo usermod -aG dialout [user name]’ and it didn’t solve the problem.

Do you have any other suggestions? If we need to short the pads on the board, what is the best way to open the plastic case?


#6

Hi Neil,

For ‘sudo usermod -aG dialout [user name]’ command to take effect, you’ll need to log out of your user and log back in, or basically reboot your computer.

To test that the user permission issue is causing this behavior, try running the DFU as root and see if this behavior persists.

I noticed from the log that you’re using the SAM-BA_only version of the DFU. This version only puts the device in bootloader mode without actually flashing it with any firmware image.

You can grab the ‘DWUSB Firmware - 0.6.9.0 (DFU)’ file from the Downloads section on our website for the DFU version that updates the firmware to 0.6.9.0.

Regarding removing the plastic casing, we use tweezers to open the plastic casing, Hopefully you won’t need to perform a full erase if the software solution solved the issue.

Thanks!
Jawad


#7

Success!

After rebooting the machine and using DFU 0.6.9.0, I was able to flash the firmware on the DWUSBs.

Thank you very much!


#8

You’re welcome!

Glad that your issue got resolved!

Thanks
Jawad


#9

Hello,

After flashing the firmware to 0.6.9 on the DWUSBs, the LED no longer blinks when connected to a power source. Is this the expected behavior?

Regards,

Neil


#10

Hi Neil,

Yes, this behavior is expected.

There should be a very short white blink when you first power the device on and that’s all.
Then once the network is running, the LED behavior will reflect the device role similar to what’s on the GUI (Tag [blue], Anchor [green], or Master [purple])

Thanks,
Jawad