Permissions

如何使並口工作?

  • July 9, 2017

為了使便宜的 CNC 機器工作,我必須通過並行埠連接。不幸的是,我沒有設法使並行埠工作。

似乎檢測到 PCI 並行埠卡,但我沒有實現向它傳輸/連接任何東西。

如何使並口工作?

如何使並口以普通使用者權限工作?

已編輯該埠似乎只能在 root 權限下工作。這大概就是問題所在。但是如何使並口為普通使用者工作呢?

.

注意:我的機器是帶有 RT 核心 4.9 的 Debian Linux。


我所做的嘗試:

PCI 並行卡已插入我的電腦。

執行 $lsmod |grep ppdev返回似乎正確的結果:

ppdev                  20480  2 
parport                49152  3 lp,parport_pc,ppdev

執行 $lspci -v返回資訊,我不完全明白:

03:01.0 Parallel controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller (prog-if 03 [IEEE1284])
   Subsystem: Device a000:2000
   Flags: bus master, medium devsel, latency 32, IRQ 22
   I/O ports at dc00 [size=8]
   I/O ports at d880 [size=8]
   Memory at fcfff000 (32-bit, non-prefetchable) [size=4K]
   Memory at fcffe000 (32-bit, non-prefetchable) [size=4K]
   Capabilities: <access denied>
   Kernel driver in use: parport_pc

還有更多數據:$ dmesg |grep parport(注意:我在單個並行埠上)返回

[   11.791907] parport_pc 00:02: reported by Plug and Play ACPI
[   11.791998] parport0: PC-style at 0x378 (0x778), irq 5 [PCSPP,TRISTATE,EPP]
[   11.888153] lp0: using parport0 (interrupt-driven).
[   11.888949] parport1: PC-style at 0xdc00, irq 22 [PCSPP,TRISTATE,EPP]
[   11.984195] lp1: using parport1 (interrupt-driven).

我從這裡下載了一個測試應用程序,我在沒有 root 權限的情況下從命令行執行它。它以紅色顯示所有輸出引腳,以綠色顯示所有輸入引腳。當按下一個輸出引腳時,它會變成綠色,但我懷疑它沒有任何意義。

按下 Pin01 的 PortTest 腳本

最後,終極測試:我在並口GND和之間連接了一個LED PIN_02(帶有1k歐姆電阻)。如果我將它連接到BUZY(預設情況下打開),則 LED 會打開,但在連接到 時PIN_01,它永遠不會亮起,即使在按下測試應用程序中的按鈕時也是如此。

領導測試

從所有這些測試中,我懷疑該卡已正確安裝,但由於某些權限或其他錯誤配置,它無法正常工作。

我嘗試使用 root 管理員執行 PortTest,但似乎對此並不滿意。

問題在於並行埠的權限:預設情況下,它只能由 group 的使用者訪問lproot使用者顯然是被允許的,但普通使用者是不允許的。

將使用者添加到lp組中,無需 sudo 即可訪問並行埠:

adduser <user-name> lp

之後,並行埠工作,我可以繼續配置。

引用自:https://unix.stackexchange.com/questions/376151