Using CDC ACM devices on the N800/N810
The CDC ACM is a standard profile for USB to serial adapters such as the one built in to the u-blox range of GPSs. This page has instructions and drivers for plugging such a device into a Maemo Diablo based device such as the Nokia N800 or N810.
Quick start:
- Download diablo-usb-drivers-1.tar.gz
- Copy it onto your N800 (try scp or a SD card)
- Log in as root
- Extract the tarball
- Change to lib/modules/2.6.21-omap1/kernel/drivers/usb/class
- Install the module using insmod cdc-acm.ko
- Enable host mode on the USB port using echo host > /sys/devices/platform/musb_hdrc/mode
- Plug in your device over a suitable cable. You may need a powered hub in between.
- The device should appear as /dev/ttyACM0. Check dmesg if it doesn't
Drives for the FTDI range and other USB to serial adapters are also included.
Building the modules without scratchbox
Scratchbox is clever but an overkill for compiling the kernel. If you have a Debian/Ubuntu? based system then you can make do with just the toolchain.
The standard instructions are on maemo.org. The Debian packages are in
http://scratchbox.org/download/files/sbox-releases/branches/apophis/r4/deb/
In particular you want the CodeSourcery 2005q3 release at
http://scratchbox.org/download/files/sbox-releases/branches/apophis/r4/deb/scratchbox-toolchain-cs2005q3.2-glibc2.5-arm_1.0.7.2_i386.deb
Installing this should give a GCC toolchain in /scratchbox/compilers/cs2005q3.2-glibc2.5-arm. Add this to your path using
export PATH=$PATH:/scratchbox/compilers/cs2005q3.2-glibc2.5-arm/bin
Test it by running arm-linux-gcc
The kernel source is in
http://repository.maemo.org/pool/diablo/free/k/kernel-source-diablo/
Download the dsc, diff, and original kernel source
Unpack using dpkg-source
dpkg-source -x kernel-*.dsc
This should give you a kernel source tree in kernel-source-diablo-2.6.21/kernel-source/. Change to that directory.
The rest is downhill from here. Pull in the default configuration
make nokia_2420_defconfig
Bring up the configuration UI and select the drivers that you want
make menuconfig
Make and install the modules in a local directory
make INSTALL_MOD_PATH=n800 modules modules_install
List of modules
For reference the tarball contains the following modules:
- net:
- ipv4/tunnel4.ko
- ipv6/xfrm6_mode_transport.ko
- ipv6/xfrm6_mode_tunnel.ko
- ipv6/sit.ko
- ipv6/xfrm6_mode_beet.ko
- ipv6/ipv6.ko
- ipv6/netfilter/ip6_tables.ko
- ipv6/netfilter/ip6table_filter.ko
- arch:
- arm/plat-omap/omap_sec.ko
- arm/mach-omap2/omap2_hs.ko
- arm/mach-omap2/observability.ko
- arm/mach-omap2/peeknpoke.ko
- arm/mach-omap2/snapshot.ko
- fs:
- ext2/ext2.ko
- ext3/ext3.ko
- jbd/jbd.ko
- mbcache.ko
- drivers/net:
- wireless/pc2400m/pc2400m.ko
- drivers/char:
- hw_random/rng-core.ko
- hw_random/omap-rng.ko
- drivers/usb:
- gadget/g_ether.ko
- gadget/g_file_storage.ko
- gadget/gadgetfs.ko
- misc/sisusbvga/sisusbvga.ko
- drivers/usb/serial:
- serial/io_ti.ko
- serial/digi_acceleport.ko
- serial/ipaq.ko
- serial/visor.ko
- serial/omninet.ko
- serial/empeg.ko
- serial/belkin_sa.ko
- serial/kl5kusb105.ko
- serial/aircable.ko
- serial/funsoft.ko
- serial/airprime.ko
- serial/cypress_m8.ko
- serial/hp4x.ko
- serial/cp2101.ko
- serial/navman.ko
- serial/mct_u232.ko
- serial/keyspan.ko
- serial/kobil_sct.ko
- serial/ir-usb.ko
- serial/whiteheat.ko
- serial/mos7840.ko
- serial/safe_serial.ko
- serial/mos7720.ko
- serial/io_edgeport.ko
- serial/ark3116.ko
- serial/ftdi_sio.ko
- serial/garmin_gps.ko
- serial/keyspan_pda.ko
- serial/pl2303.ko
- serial/sierra.ko
- serial/option.ko
- serial/ti_usb_3410_5052.ko
- serial/usbserial.ko
- serial/cyberjack.ko
- serial/ipw.ko
- drivers/usb/class:
- class/cdc-acm.ko
- class/usblp.ko
Attachments
-
diablo-usb-drivers-1.tar.gz
(0.7 MB) - added by Michael Hope
5 months ago.