Background: I am currently in the process of updating a Industrial PC + software from Debian 4 (etch) to Debian 7 (Wheezy) due to hardware obsolescence, one of the few pieces of hardware being shared between the old and new systems is a Sunix 5008 parallel port. We use the parallel port to talk to some custom hardware through the low level driver.
Issue: Although the driver is detected and /dev/parport2
is created and can be successfully opened and written to with our software when we hook a scope up to some of the pins on our parallel port we get no output where as the same application gives output on the older install. We have traced through the driver to the outb() call with no errors reported anywhere.
The following extract from dmesg shows that the port is found and the driver is installed correctly
[ 7.429893] ===================== SUNIX Device Driver Module Install =====================
[ 7.429899]
[ 7.429902] SNX Info : Loading SUNIX Multi-I/O Board Driver Module
[ 7.429908] -- Date : 2011/08/15
[ 7.429915] -- Version : 1.3.3.0
[ 7.429918]
[ 7.431041]
[ 7.431047] SNX Info : Found SUNIX 5008 Series Board (1P),
[ 7.431053] bus number:6, device number:4
[ 7.431056]
[ 7.431079] Trying to free nonexistent resource <000000000000d120-000000000000d127>
[ 7.431087] Trying to free nonexistent resource <000000000000d120-000000000000d122>
[ 7.431094] Trying to free nonexistent resource <000000000000d123-000000000000d127>
[ 7.431101] Trying to free nonexistent resource <000000000000d110-000000000000d117>
[ 7.431108] Trying to free nonexistent resource <000000000000d110-000000000000d112>
[ 7.431115] Trying to free nonexistent resource <000000000000d113-000000000000d117>
[ 7.438603] SNX Info : parport2 - PC-style at 0xd120 (0xd110)
[ 7.438859] SNX Info : lp2 port using parport2 (polling).
[ 7.438866] ================================================================================
The Trying to free nonexistent resource *
happens on our older build as well
Interesting observation:
On the older working machine a extract of lsmod
gives
Module Size Used by
...
snx 89764 4
parport_pc 22884 0
ppdev 3588 0
parport 19240 2 parport_pc,ppdev
While on the newer machine a extract of lsmod
gives
Module Size Used by
...
snx 99449 2
parport_pc 22036 0
ppdev 12651 0
parport 31254 2 ppdev,parport_pc
The key thing to note here is in the newer machine snx is only used by 2 devices rather then 4, so i don't know if this points to a initialization issue