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가 4개가 아닌 2개의 장치에서만 사용되므로 이것이 초기화 문제를 나타내는지 여부는 알 수 없다는 것입니다.

답변1

추가 조사를 통해 이는 드라이버가 부분적으로만 구현되었기 때문에 발생했으며 중요한 ioctl이 제거된 것으로 나타났습니다.

관련 정보