From: Vincent P. <vp...@fr...> - 2006-04-18 11:40:39
|
Hi all, I'am trying to play with lcd4linux and my LCD HD44780 20x4 on my OpenSlug 2.7 Linksys NSLU2 (http://www.nslu2-linux.org/). I'am not using the same circuit as described here : http://chezphil.org/slugterm/ I'am using a cheap USB to // converter with USS720 Lucent chip. This chip is supported by Linux and the driver is available in the kernel source tree (drivers/usb/misc/uss720.c). As I didn't find much info on the net about uss720 and LCD (only here : http://www.g-cipher.net/~reboots/projects/lcd/index.html) , I'll first sum up my successful experience using this chip on my Gentoo PC, and then ask my question about the NSLU2 port right after :-) Hardware : PIII/600 PC running Gentoo I bought a cheap USB to // converted using a USS720 Lucent chip (USS720E is marked on the chip). The converter model is Infowave USP-1284 (Infowave Wireless Messaging Inc. P/N 901-0030) But other model use this chip (see here : http://www.g-cipher.net/~reboots/projects/lcd/index.html). I've connected my HD44780 generic LCD (16 pins) to the centronic plug following the winamp wiring. Software : First, you must activate support for USS720 and PPDEV in you kernel. I selected them as Modules. Rem : Parallel port should be already activated on your PC. In Kernel configuration menu select : <*> Parallel port support [*] IEEE 1284 transfer modes (don't know if it's mandatory or not) <M> Support for user-space parallel port device drivers <M> USS720 parport driver Recompile, install new kernel (if necessary) and modules, reboot. Plug the adaptor to USB If you use module as me, you need to : modprobe ppdev modprobe uss720 You should have with dmesg : [.] ppdev: user-space parallel port driver lp1: using parport1 (polling). usbcore: registered new driver uss720 drivers/usb/misc/uss720.c: v0.6:USB Parport Cable driver for Cables using the Lucent Technologies USS720 Chip drivers/usb/misc/uss720.c: NOTE: this is a special purpose driver to allow nonstandard drivers/usb/misc/uss720.c: protocols (eg. bitbang) over USS720 usb to parallel cables drivers/usb/misc/uss720.c: If you just want to connect to a printer, use usblp insteadDisplay LCD4linux conf : I use the following configuration : HD44780-20x4 { Driver 'HD44780' Model 'Generic' Port '/dev/parport1' Bits '8' Size '20x4' Wire { RW 'AUTOFD' RS 'INIT' ENABLE 'STROBE' ENABLE2 'GND' BACKLIGHT 'GND' GPO 'GND' } } then : lcd4linux -Fvv So, in my case, everything fine, the welcome message is displayed and the test messages are shown. Ok. Now I want do to the same on my NSLU2. I configure the kernel to support parallel port. Compiled uss720.ko, parport.ko and ppdev.ko After registered the uss720 and parport modules and plugged the converter I get : usb 3-1.3: new full speed USB device using ohci_hcd and address 7 uss720: probe: vendor id 0x47e, device id 0x1001 uss720: set inteface result 0 uss720: (C) 1999 by Thomas Sailer, <sa...@if...> uss720: reg: 78 0c 23 00 00 00 01 uss720: epaddr 131 interval 1 root@SLUG:~# more /proc/sys/dev/parport/parport0/modes PCSPP,TRISTATE,COMPAT,EPP,ECP And I get a /dev/parport0 device. I'v tried to compile LCD4linux but get an error about rep_nop in udelay.c. As this fct is only for x86 and my slug run an Intel Xscale, I've commented out the line. Even if lcd4linux compiled fine then it's not running ok . With same configuration as above I get : root@SLUG:~/lcd4linux-0.10.0-RC1# ./lcd4linux -Fvv Version 0.10.0-RC1 starting plugin_cfg.c: Variable minute = '60000' (60000.000000) plugin_cfg.c: Variable tack = '100' (100.000000) plugin_cfg.c: Variable tick = '500' (500.000000) i2c_sensors: unable to autodetect i2c sensors! [POP3] No 'Plugin:POP3.server2' entry from /etc/lcd4linux.conf, disabling POP3 account #2 [POP3] No 'Plugin:POP3.server3' entry from /etc/lcd4linux.conf, disabling POP3 account #3 [POP3] 1 POP3 accounts have been succesfully defined lcd4linux.c: initializing driver HD44780 HD44780: using model 'generic' HD44780: using parallel port HD44780: using 1 controller(s) HD44780: using 8 bit mode udelay: The file 'include/asm/msr.h' was missing at compile time. udelay: Even if your CPU supports TSC, it will not be used! udelay: You *really* should install msr.h and recompile LCD4linux! udelay: using gettimeofday() delay loop HD44780: using ppdev /dev/parport0 HD44780: wiring: [DISPLAY:RS]<==>[PARPORT:INIT] HD44780: wiring: [DISPLAY:RW]<==>[PARPORT:AUTOFD] HD44780: wiring: [DISPLAY:ENABLE]<==>[PARPORT:STROBE] HD44780: wiring: [DISPLAY:ENABLE2]<==>[PARPORT:GND] HD44780: wiring: [DISPLAY:GPO]<==>[PARPORT:GND] HD44780: not using busy-flag checking HD44780: reserving 1 of 8 user-defined characters for icons initializing layout 'Default' lcd4linux.c: starting main loop But nothing on the LCD :-( ..... Here is my questions : Does some one compile lcd4linux on armeb platform ? Is rep_nop mandatory ? I've seen that some people provide a patch for other arch but can't find for armed. Is lcd4linux big-endian/little-endian dependent ? As the NSLU2 is big endian I was wondering . I've also seen that uss720.c is v6 on my PC and v5 on my NSLU2, does some one have experience with this driver (I know it's not the good mailing list for this question) ? Thanks for your help, Best regards, Vincent. PS: Sorry for my broken english |