1

I have a USB device (bicycle computer) and want to read from it values (odometer value, average speed, etc.) through the USB port. After some steps I managed to detect the computer and read some parameters (like vendorId, sessionId, deviceName etc.), but I don't know how I can read bicycle values.

There is no documentation for this device. I am looking for a solution on an IOKit framework.

Eitan T
  • 32,660
  • 14
  • 72
  • 109
Keane
  • 45
  • 7
  • What is this device? If you don't have any documentation for it, how do you expect others to know what you're talking about? – Eitan T Jun 15 '12 at 18:30
  • This device is bicycle computer with usb-station. I am interesting in general approaches and don't expect, what you could provide me with code snippets. – Keane Jun 15 '12 at 18:33
  • For starters, you could provide some more details about what you did and how you've accomplished it. – Eitan T Jun 15 '12 at 18:37
  • Computer is http://www.sigmasport.de/us/produkte/bikecomputer/topline_2009_wired/bc1609/?punkt=features and I write a program, that lists all usb devices like in apple sample USBPrivateDataSample https://developer.apple.com/library/mac/#samplecode/USBPrivateDataSample/Introduction/Intro.html As I think, computer should have memory storage, and I should read memory from storage and convert it to desired values, but I am really not sure in this approach – Keane Jun 15 '12 at 18:43
  • 2
    You cannot be sure that the device supports extracting this data, you will need API documentation to verify that. Without it, it would be very painful to reverse-engineer the device in order to extract the required values, if this is possible at all. – Eitan T Jun 15 '12 at 18:50
  • Thanks. I bought program from official site, and this program can read these values as well. Sad what I can't do it ) – Keane Jun 15 '12 at 18:59
  • 1
    With an existing driver, you can reverse engineer it by watching the data it sends and receives via the USB bus when you perform different operations. Based on that you can then write your own driver. This is usually a lot of work, though. – pmdj Jun 15 '12 at 22:25

1 Answers1

0

You can install usbview. This is a nice and it lets you read all the descriptors http://www.kroah.com/linux/usb/

Another thread ( USB programming) also give link of http://www.signal11.us/oss/hidapi/

There are sample provided which allows read and write with the device using HID API. Hopw will help u know doing operation on device

Community
  • 1
  • 1
Tectrendz
  • 1,354
  • 2
  • 17
  • 36