TuxMobil - Linux on Laptops, PDAs and mobile Phones

Timex Data Recorder (Bodylink) and Linux

Changelog

2005-03-31: Linux utility for controling the device is now available.

2005-02-22: Initial release.

Description

mouseThis device collects information from Timex heart rate and speed+distance sensors (Bodylink system). I have bought the data recorder together with the Timex Ironman Bodylink Performance Monitor sport watch 5E671 and Navman II GPS for collecting my excersise data. As usual, the provided software is for MS Windows/Mac only.

The data recorder connects to a USB port and is recognized by Linux as an HID device (the usbhid driver). However, this kernel driver cannot control the device properly so I have written a user space Linux application timexdr for downloading data from Timex Data Recorder. The utility can be downloaded from the project's web site hosted by BerliOS.

System Information

Information about the device found in /proc/bus/usb/device:

T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0cc2 ProdID=c700 Rev= 1.00
S: Manufacturer=Timex Corporation
S: Product=Timex Data Recorder
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 20mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms

Command lsusb -v provides:

Bus 002 Device 002: ID 0cc2:c700 Timex Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0cc2 Timex Corp.
  idProduct          0xc700
  bcdDevice            1.00
  iManufacturer           1 Timex Corporation
  iProduct                2 Timex Data Recorder
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower               20mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Devices
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      68
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10