How-to start reverse engineering serial communication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I've a bike computer SIGMA ROX 9.1 which can be connected via a small USB docking station to retrieve the collected data. However there is a proprietary software called "Data Center" (DaCe) which is not available for Linux and doesn't run with Wine.
At least it doesn't find the connected device via com port in Wine.
I'd like to write my own software for Linux to collect the training data.
In Windows the Data Center (DaCe) software uses a virtual serial port driver with "com3".

Now my problem is that I've no idea about the communication with the device.

I've tried to use some serial port sniffer. But this didn't work. If the software sniffs the DaCe doesn't find the device. If the DaCe has connected to the device, the sniffers denies to sniff on the serial port. I've tried multiple sniffers without success.

Of course it is possible to sniff on USB with usbmon and wireshark.
But I've no idea how to go on with the collected jumble of data.

The Data Center is an Adobe AIR application.

In Windows the usbser.sys is used and Linux detects it as USB ACM device:

[12302.367098] usb 6-1: new full-speed USB device number 3 using uhci_hcd
[12302.600240] usb 6-1: New USB device found, idVendor=1d9d, idProduct=1030
[12302.600251] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[12302.600259] usb 6-1: Product: SIGMA DS ROX 11
[12302.600265] usb 6-1: Manufacturer: STMicroelectronics
[12302.602292] usbserial_generic 6-1:1.0: Generic device with no bulk out, not allowed.
[12302.602310] usbserial_generic: probe of 6-1:1.0 failed with error -5
[12302.602330] cdc_acm 6-1:1.0: This device cannot do calls on its own. It is not a modem.
[12302.602373] cdc_acm 6-1:1.0: ttyACM0: USB ACM device


I've the 2 books

USB Complete - http://www.amazon.de/gp/product/1931448086
Serial Port Complete - http://www.amazon.de/gp/product/193144806X

where I can get more knowledge from ;-)


E.g. if I retrieve battery status of 4 units I currently get this data
05:33:64:50:64:41:50:01:00:02:10:40:17:70:04:01:01:06:32:32:32:1e:1e:50:55:55:55:5f:c0:33:21:33:21:96:12:89:53:20:90:49:17:96:09:00:37:15:56:21:10:12:21:42:75:00:28:36:07:00:21:04:79:19:50:06:be:69:86:98:be:00:01:00:02:00:03:95:24:82:17:74:20:23:10:65:37:00:15:17:23:20:32:38:00:30:16:27:00:07:29:05:00:01:15:13:00:02:10:01:00:11:47:21:79:04:40:75:93:67:04:00:55:62:75:01:05:70:37:95:29:03:00:39:03:02:27:13:00:40:20:0c:88:15:af:52:0a:04:02:62:61:5b:ac:a4:6c:03:11:1f:30:29:33:31:43:0f:04:43:be:20:d4:74:94:35

and the DaCe says the batteries of the 4 units (bike computer, chest belt, speed transmitter and cadence transmitter) are fine.

But I don't see how to interpret the data.

So do you have any idea how to go on?

Thanks
Markus
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux