1

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

1

Having looked into this further it seems that this is due to the driver only being partially implemented, critical ioctls seem to be stubbed out.

  • Also the Sunix MIO6469A linux driver only supports SPP, not EPP. I hope Sunix improves their drivers! – neuhaus Mar 5 '18 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.