背景
私はLinuxの問題に陥るのに十分な知識がないようです。
私はLinuxを実行する複数の組み込みシステム(2つの異なるモデル)を開発しています。私は私が使用している2つのモデムのうち、最新のモデムのモデムサポートコードの問題を解決してきました。コードを停止してusbserialドライバを手動でロードしてみました。最新のデバイスからusbserialドライバをロードすると、4つのデバイスが現れる存在する/dev/ttyUSB#。
私がしたこと
知ってみると実際には16個でした。ttyUSB##古いデバイスに常に表示されるデバイスです。彼らは決して消えません。私は[今]これは以前のカーネルが異なる動作をするためだと思います。残念ながら、16個をすべて削除しました。ttyUSB##装備。今、彼らは去り、再び戻ってこないでしょう。キャラクターデバイスの作り方がわかりません。このデバイスをどのように返しますか?
カーネルバージョン:
uname -r
返品2.6.17.9-ep93xx-pxa-ads5
追加情報
重要な情報が欠落している場合は、コメントとして残してください。追加します。よろしくお願いします!
答え1
以下を使用して/ devエントリを手動で作成できます。
mknod /dev/ttyUSBn c 188 n
- パラメータ:
- mknodは/ devエントリを生成するためのよく知られたツールです。
- /dev/ttyUSBn: デバイス名
- c: キャラクターデバイス
- 188: 主装置番号
- n:補助装置番号、ttyUSB0、ttyUSB1など
ただし、デバイスはudevルールに従って自動的に作成する必要があります。
答え2
/dev
伝統的に、Unixシステムにはエントリを作成し、呼び出してMAKEDEV
場所を指定するスクリプトがありました/dev
。このスクリプトは通常Linuxにありますが、設計者がすべてのデバイスを持っていると仮定する組み込みデバイスやデバイスエントリが通常自動的に生成されるudevを実行しているシステムにはない可能性があります。エントリはMAKEDEV
通常現在のディレクトリに作成されるため、まずこのディレクトリを実行してくださいcd /dev
。
渡すパラメータの標準はありません/dev/MAKEDEV
。通常、パラメーターは生成されるデバイス項目のセットを表します。 Debianでは、いくつかの他のものも/dev/MAKEDEV usb
作成されました。スクリプト内で実行するコマンドラインを見つけることもttyUSB*
できます。デバイス項目を生成する下位レベルのコマンドは次のとおりです。ttyUSB
MAKEDEV
mknod
。
システムがudevを使用している場合は、以下を実行します。udevadm trigger -s usb-serial
/dev
エントリを再生成し、デバイスの検索に関連するコマンドを実行します。 (この場合、デバイスはシリアルポートであり、ポートに接続されているデバイスではありません。)