web-dev-qa-db-ja.com

Linuxシリアルポートデバイス名の再マッピング

TtyS0として起動するシリアルポートが組み込まれたDebianLinuxを実行しているサーバーがあります。 LinuxにttyS2およびttyS3として登録されている2つのシリアルポートを備えたプラグインPCIカードがあります。

残念ながら、ttyS0とttyS1が使用可能であることを前提としたソフトウェアを実行しようとしています。 ttyS0がそのままでttyS2がttyS1になるように、シリアルポートデバイス名を(udevルールを使用して)再マップすることは可能ですか?

4
davefiddes

これにはudevを使用できます。ファイルを作成します/ etc/udev/rules.d/90-rename-serial-ports.rule

ACTION=="add" KERNEL=="ttyS2" NAME="ttyS1"

それを行う必要があります(テストされていません)。 "=="と "="の違いに注意してください。

4
Florian Diesch

このような名前をいじってはいけません。 setserialを使用して、ttyS2のマップを解除し、ttyS1をそのリソースにマップします。そして、そのコードを書いた人を見つけて、手の甲に紹介する必要があります。彼らは本当に今ではもっとよく知っているはずです。

プレーンなmv /dev/ttyS2 /dev/ttyS1はどうですか?結局のところ、ほとんどのデバイスは/devの下にあるファイルにすぎません。

LE:起動するたびに名前を変更する必要があります。

1

これを試して:

Sudo ln -s /dev/ttys2 /dev/ttys1

Ttys1を実際のttys2にリンクします。

Ubuntu LucidでUSB-シリアルアダプター(/ dev/ttyUSB0)を備えたミニコムなどのアプリケーションで動作することがテストされています。

スクリプトに追加しない限り、再起動後も存続しません(例:ほとんどのLinuxディストリビューションでは/etc/rc.local)

0
Chris Nava