Sunix 低级并行端口驱动程序不工作

Sunix 低级并行端口驱动程序不工作

背景:由于硬件过时,我目前正在将工业 PC + 软件从 Debian 4 (etch) 更新到 Debian 7 (Wheezy),新旧系统之间共享的少数硬件之一是 Sunix 5008 并行系统港口。我们使用并行端口通过低级驱动程序与一些自定义硬件进行通信。

问题:尽管驱动程序已被检测到并/dev/parport2创建,并且可以使用我们的软件成功打开和写入,但当我们将示波器连接到并行端口上的某些引脚时,我们没有得到任何输出,因为同一应用程序在旧安装上提供了输出。我们已经通过驱动程序追踪到了 outb() 调用,没有任何地方报告错误。

以下 dmesg 摘录显示已找到端口并且驱动程序已正确安装

    [    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] ================================================================================

这种情况Trying to free nonexistent resource *也发生在我们的旧版本上

有趣的观察: 在较旧的工作机器上,lsmod给出了以下内容的摘录

    Module                  Size  Used by
    ...
    snx                    89764  4 
    parport_pc             22884  0 
    ppdev                   3588  0 
    parport                19240  2 parport_pc,ppdev

在较新的机器上,摘录lsmod给出了

    Module                  Size  Used by
    ...
    snx                    99449  2 
    parport_pc             22036  0 
    ppdev                  12651  0 
    parport                31254  2 ppdev,parport_pc

这里要注意的关键是在较新的机器中 snx 仅由 2 个设备而不是 4 个设备使用,所以我不知道这是否表明初始化问​​题

答案1

进一步研究后发现,这是由于驱动程序仅部分实现,关键的 ioctl 似乎已被删除。

相关内容