Subject: nokia phone usb com device
To: None <netbsd-help@netbsd.org>
From: Harry Waddell <waddell@caravan.com>
List: netbsd-help
Date: 07/27/2004 13:43:44
I've got a nokia 6651, the american version of the european 6650 WCDMA
phone, with a DKU-2 cable. Googling around a bit, it looks the the phone
contains a usb to serial device and that the cable is just a straight
through cable. Other phones that uses this cable, e.g. the nokia 6230, are
supported under linux's generic usb serial support

http://www.qbik.ch/usb/devices/showdev.php?id=2628

so I'm hoping that it might be straight-forward to get netbsd to see this
thing as a umodem, etc... and work with minimal effort. 

device info is below my signature. 

Suggestions, patches, pointers to docs, etc... would be greatly appreciated.
I'm not a kernel hacker, but I quite capable of making minor changes to
kernel source with a bit of direction, so I don't mind doing some of the
work myself, as I've done in the past some pci devices.

Thanks in advance.

-- 
Harry Waddell
Caravan Electronic Publishing
-----------



bash-2.05b# usbdevs  -v 
Controller /dev/usb0:
...
 port 1 addr 2: full speed, self powered, config 1, Nokia 6651(0x040e),
Nokia(0x0421), rev 3.07
...

bash-2.05b# usbgen -f ugen0 -v -D    
Dumping all descriptors
DEVICE descriptor:
bLength=18 bDescriptorType=1 bcdUSB=1.10 bDeviceClass=2 bDeviceSubClass=0
bDeviceProtocol=0 bMaxPacketSize=64
idVendor=0x0421 idProduct=0x040e bcdDevice=307
iManufacturer=1 iProduct=2 iSerialNumber=0 bNumConfigurations=1

Current configuration is number 1

CONFIGURATION descriptor index 0:
bLength=9 bDescriptorType=2 wTotalLength=348 bNumInterface=11
bConfigurationValue=1 iConfiguration=0 bmAttributes=e0 bMaxPower=8 mA

  INTERFACE descriptor index 0, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=0 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=2 bInterfaceSubClass=8
  bInterfaceProtocol=1 iInterface=0

  INTERFACE descriptor index 1, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=1 bAlternateSetting=0
  bNumEndpoints=1 bInterfaceClass=2 bInterfaceSubClass=2
  bInterfaceProtocol=5 iInterface=0

    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=1-in
    bmAttributes=3 wMaxPacketSize=64 bInterval=1

  INTERFACE descriptor index 2, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=2 bAlternateSetting=0
  bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=2-in
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

    ENDPOINT descriptor index 1:
    bLength=7 bDescriptorType=5 bEndpointAddress=2-out
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

  INTERFACE descriptor index 3, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=3 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=2 bInterfaceSubClass=11
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 4, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=4 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 4, alt index 1:
  bLength=9 bDescriptorType=4 bInterfaceNumber=4 bAlternateSetting=1
  bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=3-in
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

    ENDPOINT descriptor index 1:
    bLength=7 bDescriptorType=5 bEndpointAddress=3-out
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

  INTERFACE descriptor index 5, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=5 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=2 bInterfaceSubClass=11
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 6, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=6 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 6, alt index 1:
  bLength=9 bDescriptorType=4 bInterfaceNumber=6 bAlternateSetting=1
  bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=4-in
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

    ENDPOINT descriptor index 1:
    bLength=7 bDescriptorType=5 bEndpointAddress=4-out
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

  INTERFACE descriptor index 7, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=7 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=2 bInterfaceSubClass=11
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 8, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=8 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 8, alt index 1:
  bLength=9 bDescriptorType=4 bInterfaceNumber=8 bAlternateSetting=1
  bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0


    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=5-in
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

    ENDPOINT descriptor index 1:
    bLength=7 bDescriptorType=5 bEndpointAddress=5-out
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

  INTERFACE descriptor index 9, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=9 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=2 bInterfaceSubClass=254
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 10, alt index 0:
  bLength=9 bDescriptorType=4 bInterfaceNumber=10 bAlternateSetting=0
  bNumEndpoints=0 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

  INTERFACE descriptor index 10, alt index 1:
  bLength=9 bDescriptorType=4 bInterfaceNumber=10 bAlternateSetting=1
  bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0
  bInterfaceProtocol=0 iInterface=0

    ENDPOINT descriptor index 0:
    bLength=7 bDescriptorType=5 bEndpointAddress=6-in
    bmAttributes=2 wMaxPacketSize=64 bInterval=0

    ENDPOINT descriptor index 1:
    bLength=7 bDescriptorType=5 bEndpointAddress=6-out
    bmAttributes=2 wMaxPacketSize=64 bInterval=0