Help with communication over USB with CrossChasm C5 BLE VI

144 views
Skip to first unread message

Sean Hankins

unread,
Apr 18, 2017, 2:59:57 PM4/18/17
to OpenXC
Hello! 

I'm having a problem with my new CrossChasm C5 BLE VI. I want to communicate with the device over the micro USB because Bluetooth was deemed too slow for our purposes.

The flashing seems to go fine. No errors in the process. Here is the command I used:
sudo avrdude -U flash:w:vi-translated_obd2-firmware-CROSSCHASM_C5_BLE-ctv7.2.0.hex -c stk500 -p 32MX795F512L -P /dev/ttyACM0 -C ../OpenXC-CrossChasm-Flash/avrdude.conf

I've successfully flashed with:
vi-default-firmware-CROSSCHASM_C5_BLE-ctv7.2.0.hex,
vi-emulator-firmware-CROSSCHASM_C5_BLE-ctv7.2.0.hex
vi-obd2-firmware-CROSSCHASM_C5_BLE-ctv7.2.0.hex
vi-translated_obd2-firmware-CROSSCHASM_C5_BLE-ctv7.2.0.hex

The problem is, after flashing and cycling it, it the lights flash a bit then disappears from "/dev". I read that this was because there is no vehicle info detected so it shuts off. Then I plug in the emulator I have:
The light turns orange, but the device still does not show up. 

I have tried Bluetooth. The light turns blue and the application "OpenXC Enabler" says it's connected, but no info is ever received. The same thing happens when I flash the device with the emulator firmware and unplug the hardware emulator. Do I have a brick?
I have been fighting with this issue for a few days and I'm not finding posts here that address my issue. If there are any posts that I have missed that answer the following, please direct me there.

I'm running on:
Linux version 4.9.0-0.bpo.1-amd64 (debian-kernel @ lists.debian.org) (gcc version 4.9.2 (Debian 4.9.2-10) ) #1 SMP Debian 4.9.2-2~bpo8+1 (2017-01-26)

Eric Marsman

unread,
Apr 19, 2017, 10:37:51 AM4/19/17
to OpenXC
Hi Sean,

I don't think you have a brick. A couple of things. 

1) Did you install USB Backend as part of the python setup? http://python.openxcplatform.com/en/latest/installation.html#usb-backend. You will need this to have the device show up as a libusb device. 
a. It should disappear from the /dev/ttyACM0 port. That is part of the boot sequence and disappears after 5 secs. This is in step 7 of the programming instructions: http://vi-firmware.openxcplatform.com/en/master/_static/QuickStart%20guide%20to%20using%20C5%20Hardware%20and%20OpenXC.pdf
2) Are you using the Android or iOS "OpenXC Enabler" app? Android does not yet support the BLE device. 
3) If you want to use USB, the Ford Reference VI is a better device. It is also BT Classic which will work with Android and may be enough throughput for you. I'm not sure if you picked the BLE device for a particular reason. If so, please share why you picked it over the Reference VI. 

Regards,
Eric

Sean Hankins

unread,
Apr 19, 2017, 12:18:35 PM4/19/17
to OpenXC
Eric, 

Thanks for the response! In return, I give you responses:

1) Yes, though on up-to-date Linux distros, the USB Backend is already installed. I did, however attempt the command listed here:
     ...and it reported that I already had the this version installed.
  a) Perhaps you meant step 8 of the Linux installation instructions on that document? Yes, it certainly disappears from the list, which is what confused me about it's use. Is even possible to get OBD info from the USB port on this device?

2) Android... Ah, well that could explain that. I'll see if I can get ahold of an iOS device that works.

3) My primary use will be for development of an OBD2 interface that scoops data as fast as possible via direct USB connection to the device, but there is a secondary goal of producing a "light" version that would run on smart phones and use Bluetooth. 
Referencing the picture here:
.. I figured since it had a USB interface, this device could do both. If I was wrong on this, perhaps I need a difference device...

Eric Marsman

unread,
Apr 20, 2017, 1:18:09 PM4/20/17
to OpenXC
Hi Sean,

1) Yes, step 8. I was looking at the Windows step numbers. Same idea though. The device should be there as a serial port (/dev/ttyACM0 from your command), then switch over to a libusb port. Do you see any libusb port show up? Or are you saying that disappears too? If it is a libusb and then disappears, the device could be turning off due to no CAN activity. I would stick with the "emulator" firmware type and then it should stay on. 

3) Yes, you should be able to get data over USB with this device. However, there is currently some reliability issues with large data streams (https://github.com/openxc/vi-firmware/issues/350). If you want to do USB stream, the Reference VI is probably a preferred device right now. 

Regards,
Eric

Sean Hankins

unread,
Apr 20, 2017, 5:00:33 PM4/20/17
to OpenXC
Ah ha! Yes, it does appear as a USB bus device after the tty disappears. I didn't catch where this was stated in the documentation. I was thrown initially because of the error when running "openxc-control id":
"openxc.sources.base.DataSourceError: No USB vehicle interface detected - is one plugged in?"
However, this was apparently a permissions issue because I get different errors when running under sudo or as root.

So, the new errors are akin to this issue which appears to be unresolved:

I'll poke around a bit and see what I can get accomplished. I'll open another thread (or comment on the above link) if I cannot get any further. Thank you for your continuing suggestions! Any more advice will be greatly appreciated as well.

Eric Marsman

unread,
Apr 21, 2017, 11:29:31 AM4/21/17
to OpenXC
Ah yes, some Linux aren't able to connect over python with that error. We have been unable to track that down. If you are able to figure anything out, that would be great!

The other option is to just use a Windows machine if you have. That is our common platform.

Regards,
Eric
Reply all
Reply to author
Forward
0 new messages