Nokia N810 and Arduino Leonardo

Hi,

I'm trying to set up an USB-connection between my N810 (running DIABLO_5.2008.43-7) and my Arduino Leonardo to get its serial output.

When I' am using an USB-OTG cable the arduino powers up. But there is no /dev/ttyACM created.
The problem seems to be the kernel module - older arduinos used the FTDI chip and there seems to be a module already for this http://forums.internettablettalk.com/showthread.php?t=88618.
But the Arduino Leonardo doesn't use the FTDI anymore.
I tried the kernel modules attached to this instruction for the UNO R3 which seemed also not using the FTDI chip anymore: http://ascaniocolonna.com/fun/nokia-n810-arduino-setup/

It seems that I need to use the cdc-acm.ko and usbserial.ko usb module/driver.
But when I load the modules via insmod and connect my leonardo I get the following dmesg output:

[ 6010.328125] usb 1-1: new full speed USB device using musb_hdrc and address 17
[ 6010.375000] cx3110x: PSM dynamic with 200 ms CAM timeout.
[ 6010.460937] usb 1-1: ep0 maxpacket = 8
[ 6010.460937] usb 1-1: skipped 3 descriptors after interface
[ 6010.460937] usb 1-1: default language 0x0409
[ 6010.460937] usb 1-1: new device strings: Mfr=2, Product=1, SerialNumber=0
[ 6010.460937] usb 1-1: Product: Arduino Leonardo
[ 6010.460937] usb 1-1: Manufacturer: Arduino LLC
[ 6010.460937] usb 1-1: device v2341 p0036 is not supported
[ 6010.460937] usb 1-1: uevent
[ 6010.460937] usb 1-1: usb_probe_device
[ 6010.460937] usb 1-1: configuration #1 chosen from 1 choice
[ 6010.460937] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
[ 6010.460937] usb 1-1:1.0: uevent
[ 6010.460937] usbtest 1-1:1.0: usb_probe_interface
[ 6010.460937] usbtest 1-1:1.0: usb_probe_interface - got id
[ 6010.460937] cdc_acm 1-1:1.0: usb_probe_interface
[ 6010.460937] cdc_acm 1-1:1.0: usb_probe_interface - got id
[ 6010.460937] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[ 6010.460937] usb 1-1: adding 1-1:1.1 (config #1, interface 1)
[ 6010.460937] usb 1-1:1.1: uevent
[ 6010.460937] /home/bifh4/diablo-uarm-prereleased.gcc34qemu/work/kernel-diablo-2.6.21/kernel-source-diablo/drivers/usb/core/inode.c: creating file '017'
[ 6010.460937] hub 1-0:1.0: 100mA power budget left
[ 6010.460937] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 6010.460937] hub 1-0:1.0: port 1 enable change, status 00000103
[ 6017.820312] musb_stage2_irq 779: DISCONNECT (a_host) as Host, devctl 19
[ 6017.820312] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 6017.820312] hub 1-0:1.0: port 1, status 0100, change 0001, 12 Mb/s
[ 6017.820312] usb 1-1: USB disconnect, address 17
[ 6017.820312] usb 1-1: unregistering device
[ 6017.820312] usb 1-1: usb_disable_device nuking all URBs
[ 6017.820312] usb 1-1: unregistering interface 1-1:1.0
[ 6017.820312]  usbdev1.17_ep82: ep_device_release called for usbdev1.17_ep82
[ 6017.820312] usb 1-1:1.0: uevent
[ 6017.828125] usb 1-1: unregistering interface 1-1:1.1
[ 6017.828125]  usbdev1.17_ep04: ep_device_release called for usbdev1.17_ep04
[ 6017.828125]  usbdev1.17_ep83: ep_device_release called for usbdev1.17_ep83
[ 6017.828125] usb 1-1:1.1: uevent
[ 6017.828125]  usbdev1.17_ep00: ep_device_release called for usbdev1.17_ep00
[ 6017.828125] usb 1-1: uevent
[ 6017.960937] musb_stage0_irq 645: CONNECT (a_host) devctl 5d
[ 6018.140625] hub 1-0:1.0: debounce: port 1: total 200ms stable 100ms status 0x101
[ 6018.265625] usb 1-1: new full speed USB device using musb_hdrc and address 18
[ 6018.398437] usb 1-1: skipped 1 descriptor after configuration
[ 6018.398437] usb 1-1: skipped 4 descriptors after interface
[ 6018.398437] usb 1-1: skipped 1 descriptor after interface
[ 6018.398437] usb 1-1: default language 0x0409
[ 6018.398437] usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=0
[ 6018.398437] usb 1-1: Product: Arduino Leonardo
[ 6018.398437] usb 1-1: Manufacturer: Arduino LLC
[ 6018.398437] usb 1-1: device v2341 p8036 is not supported
[ 6018.398437] usb 1-1: uevent
[ 6018.398437] usb 1-1: usb_probe_device
[ 6018.398437] usb 1-1: rejected 1 configuration due to insufficient available bus power
[ 6018.398437] usb 1-1: no configuration chosen from 1 choice
[ 6018.398437] /home/bifh4/diablo-uarm-prereleased.gcc34qemu/work/kernel-diablo-2.6.21/kernel-source-diablo/drivers/usb/core/inode.c: creating file '018'
[ 6018.398437] hub 1-0:1.0: 192mA power budget left
[ 6018.398437] hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
[ 6018.398437] hub 1-0:1.0: port 1 enable change, status 00000103

So it says "[ 6010.460937] cdc_acm 1-1:1.0: ttyACM0: USB ACM device" but there's no /dev/ttyACM* created.

Is there anyone dealing with the same problems or someone who can help me getting this setup to run?
It would be great to use my N810 as an wireless webserver/programmer for the arduino :slight_smile:

regards, skunkjoe

Well, didn't found an exact solution to my problem, but as a workaround I'm now using an pl2303 based USB to RS232 adapter (<5€) and a MAX232 level converter to connect the N810 USB port to the Serial1 port of the Ardunio Leonardo. The pl2303 is supported by the additional kernel module which is available precombiled via the link of my previous post. Just did an additional insmod /lib/modules/2.6.21-omap1/kernel/drivers/usb/serial/pl2303.ko and now it works fine to transfer some measured data to a file via cat /dev/ttyUSB0 > fileXY.csv so I'm happy :slight_smile:

greetz, skunkjoe