PCIカードがどのシリアルポートに対応しているのか、どうすればわかりますか?

PCIカードがどのシリアルポートに対応しているのか、どうすればわかりますか?

セルラー通信用の内蔵3G PCIeカードを搭載したオンボードコンピュータがありますが、ATコマンドを送信するためにどのシリアルポートを使用する必要があるのか​​わかりません。

このコンピュータには、私がよく使うことができ、/dev/ttyS5速度が9600のオンボードGPSも付属しています。どの文書を見てみると、3Gカードの速度が115200でなければならないことを見ました。この3G PCIカードは「テレットHE910ミニPCIeデータカード」続けます。Ubuntu14.04

また、シリアル通信を開こうとしました。N(0...5)ポートは次のとおりです。結果はありません。

stty -F /dev/ttySn ispeed 115200 && cat </dev/ttySn

これを実行すると、sudo setserial -g /dev/ttyS[012345]次のようになります。

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4  
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3  
/dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 5  
/dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 7  
/dev/ttyS4, UART: 16550A, Port: 0x02f0, IRQ: 11  
/dev/ttyS5, UART: 16550A, Port: 0x02e0, IRQ: 10

ATコマンドを送信するためにシリアルポートを介してこの3Gカードにアクセスする方法を理解するのに役立ちます。

ベストアンサー1

これを使用して、lspci -vPCIデバイス情報と対応するIRQを一覧表示できます。 viaを介してリストされているIRQをすでに収集した情報lspciに関連付けて、setserialどのttyがどのPCIカードと一致するかを示します。

また、ポートが無効になっている場合を使用して有効にすることもできますsetpci。これを確認する方法と有効にする方法の詳細については、こちらをご覧ください。http://www.tldp.org/HOWTO/Serial-HOWTO-8.html#ss8.7

ポートがIOアドレスを介して通信している場合、「lspci -vv」は「Control:I / O + ...」を表示する必要があります。ここで、+はIOアドレスが有効になっていることを示します。 「I / O-」(「I / Oポート... [非アクティブ化」と一緒に)と表示されている場合は、setpciコマンドを使用して有効にする必要があるかもしれません。たとえば、「setpci -d 151f:000 コマンド=101」です。 151fはベンダーID、000はデバイスIDです。どちらも「lspci -n -v」、/proc/bus/pci、または「scanpci -v」から取得します。 「command = 101」は、「lspci」で示される「Control」レジスタと同じコマンドレジスタに101を入れることを意味します。 101h は 2 ビットを設定します。 1はI / Oを+に設定し、100はSERR#を+に設定します。この場合、lspci命令を実行すると、制御レジスタのSERR#ビットが最初に+と見なされます。したがって、101の最初の1(ビット0はI / O)のビット8を1に設定してアクティブ状態を維持します。一部のシリアルカードはSERR#を使用していないため、SERR#が表示されている場合は有効にする必要はありません。以下を使用してください。command = 1。その後、ドライバのIOとIRQを通知するために「setserial」を設定する必要があります。

Telitの文書によると、3GモデムがACMを実行できるようです。 /dev/ttyACM* デバイスがあることを確認してください。もしそうなら、文書によると、それを使用してATコマンドを送信できます。ドキュメントには、カーネルモジュールがまだロードされていない場合にロードする方法に関するガイダンスも含まれています。http://teleorigin.com/file_upl/pliki/1/Telit_HE910_HE863_GE910_UL865_Linux_Driver_UserGuide_r2.pdf

次のデバイスのみ使用できます。

/dev/ttyACM0: PPP 接続および AT コマンド用のデータポート

/dev/ttyACM3: AT コマンド用の共通ポート

おすすめ記事