web-dev-qa-db-ja.com

OpenBSDでUSBからシリアルへの接続方法

実稼働サイトに古いOpenBSD(5.0 GENERIC#43 i386)があります。今私は成功することなく、ゼブラプリンターをUSB-シリアルケーブルでそれに接続しようとしています。問題は、デバイスの存在と構成を取得することです。

それ、どうやったら出来るの?それともすでにそこにありますか?

いくつかの出力:

foobar# dmesg
...
uplcom0 at uhub1 port 1 "Prolific Technology Inc. USB-Serial Controller D" rev 1.10/3.00 addr 2
ucom0 at uplcom0
...

foobar# usbdevs -d 
addr 1: EHCI root hub, Intel
  uhub0
addr 1: UHCI root hub, Intel
  uhub1
 addr 2: USB-Serial Controller D, Prolific Technology Inc.
   uplcom0
addr 1: UHCI root hub, Intel
  uhub2
 addr 2: Lexmark T630, Lexmark International
   ulpt0
 addr 3: USB Optical Mouse, Logitech
   uhidev0
addr 1: UHCI root hub, Intel
  uhub3

foobar# usbdevs -df /dev/usb1
addr 1: UHCI root hub, Intel
  uhub1
 addr 2: USB-Serial Controller D, Prolific Technology Inc.
   uplcom0

foobar# ls /dev/ucom0 /dev/uplcom0
ls: /dev/ucom0: No such file or directory
ls: /dev/uplcom0: No such file or directory

ulpt0-デバイスは通常の紙プリンターに接続されており、正常に機能していることに注意してください。これはuplcom0-デバイスにアクセスできないためです。

man ucomによると、/dev/ttyU?には何かがあるようです。私もこれらにデータを送信しようとしましたが、成功しませんでした。 /dev/ttyU0で、数分待ってから割り込み、次のメッセージが表示されます。

ksh: cannot create /dev/ttyU0: Interrupted system call

他の人のために/dev/ttyU[1-3]私はこれに似たメッセージを受け取ります:

ksh: cannot create /dev/ttyU1: Device not configured
3
UlfR

man 4 ucomをお読みください。おそらく、/dev/cuaU0端末の「呼び出しユニット」(man 4 ttyを参照)であるttyU0を探しています。

# cu -s 115200 -l /dev/cuaU0を試して、プリンターとチャットできるかどうかを確認してください。必要に応じて、ボーレートを115200から別の値に変更します(デフォルトは9600)。

また、rootdialerグループのユーザーのみが/dev/cuaU0への読み取り/書き込み権限を持っているため、ユーザーをダイヤラグループに追加することをお勧めします。# usermod -G dialer foo

2
Zé Loff