Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] Can't read Suunto Vyper divecomputer properly.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Sedrik
l33t
l33t


Joined: 08 Apr 2005
Posts: 655
Location: Uppsala, Sweden

PostPosted: Wed Oct 08, 2014 3:25 pm    Post subject: [Solved] Can't read Suunto Vyper divecomputer properly. Reply with quote

Hi all

I have a Suunto Vyper divecomputer that has a usb interface for downloading divelogs to pc.

I get the following error from subsurface

Code:
ERROR: Inappropriate ioctl for device (25) [in serial_posix.c:115 (serial_open)]
ERROR: Failed to open the serial port. [in suunto_vyper.c:113 (suunto_vyper_device_open)]


I have added the following udev rule and my device shows up in /dev when I connect it

Code:
cat /etc/udev/rules.d/99-divecomputer.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", SYMLINK+="suunto"


I have tried reading the device as root but get the same error, the divecomputer is in PC - Transfer mode.

Any help debugging this is greatly appreciated.

Thanks
_________________
From Gentoo with love


Last edited by Sedrik on Mon May 20, 2019 11:04 am; edited 1 time in total
Back to top
View user's profile Send private message
Sedrik
l33t
l33t


Joined: 08 Apr 2005
Posts: 655
Location: Uppsala, Sweden

PostPosted: Mon Jul 27, 2015 7:10 pm    Post subject: Reply with quote

bump, help still needed :(
_________________
From Gentoo with love
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54834
Location: 56N 3W

PostPosted: Mon Jul 27, 2015 7:21 pm    Post subject: Reply with quote

Sedrik,

It looks like the device implements a serial interface over USB, in which case, you will get a /dev/ttyUSB0 or something like that if you have the right kernel modules loaded. Once you have the serial port you talk to the serial port. The USB transport does not matter.

Lets start at the beginning, post the lsusb line for the device.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Sedrik
l33t
l33t


Joined: 08 Apr 2005
Posts: 655
Location: Uppsala, Sweden

PostPosted: Sun May 19, 2019 12:25 pm    Post subject: Reply with quote

Hi sorry to resurect such an old topic but I am back in gentoo land now after a laptop crash. Still having issues getting the device working.

When I try to download my dives from my Suunto Vyper I get the following error in the log.

Starting download from /dev/suunto2 using subusrface
Code:

[0.000112] ERROR: Inappropriate ioctl for device (25) [in ../../src/serial_posix.c:304 (dc_serial_open)]
Finishing download thread: "Unable to open /dev/suunto2 Suunto (Vyper)"


Steps I have taken to try to ammend this.

My user is in the usb group
Code:

> groups
wheel audio usb users plugdev sedrik


I have added a udev rule
Code:

> cat /etc/udev/rules.d/99-suunto.rules
SUBSYSTEM=="usb",ATTR{idVendor}=="0403",ATTR{idProduct}=="f680", MODE="0666", SYMLINK+="suunto%n"


here is the lsusb output for the device
Code:

> lsusb -D /dev/suunto2
Device: ID 0403:f680 Future Technology Devices International, Ltd Suunto Sports Instrument
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0xf680 Suunto Sports Instrument
  bcdDevice            6.00
  iManufacturer           1 Suunto
  iProduct                2 Suunto Sports Instrument
  iSerial                 3 ST01VUXQ
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 Suunto Sports Instrument
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

_________________
From Gentoo with love
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54834
Location: 56N 3W

PostPosted: Sun May 19, 2019 12:54 pm    Post subject: Reply with quote

Sedrik,

Lets avoid faffing about with a symlink. Start with my post above. When you connect the device do you get a new entry in /dev ?
If so, what is it?

If not, you have a bit missing from your kernel for serial over USB support.

From this commit you need the kernel options that build the file ftdi_sio_ids.h, which is in
drivers/usb/serial if it made it into the mainline kernel.

It did.
Code:
/usr/src/linux/drivers/usb/serial $ grep -i FTDI_SUUNTO_SPORTS_PID *
ftdi_sio.c:   { USB_DEVICE(FTDI_VID, FTDI_SUUNTO_SPORTS_PID) },
ftdi_sio_ids.h:#define FTDI_SUUNTO_SPORTS_PID   0xF680   /* Suunto Sports instrument */


Reading Kconfig in that directory, you need
Code:
config USB_SERIAL_FTDI_SIO
        tristate "USB FTDI Single Port Serial Driver"
        ---help---
          Say Y here if you want to use a FTDI SIO single port USB to serial
          converter device. The implementation I have is called the USC-1000.
          This driver has also been tested with the 245 and 232 devices.

          See <http://ftdi-usb-sio.sourceforge.net/> for more
          information on this driver and the device.

          To compile this driver as a module, choose M here: the
          module will be called ftdi_sio.

_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
Sedrik
l33t
l33t


Joined: 08 Apr 2005
Posts: 655
Location: Uppsala, Sweden

PostPosted: Mon May 20, 2019 11:03 am    Post subject: Reply with quote

Thanks for the pointers after enabling USB_SERIAL_FTDI_SIO and adding my user to the uucp group I was able to get it to work. I did remove the udev rule as well.
_________________
From Gentoo with love
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum