web-dev-qa-db-ja.com

どのシリアルポートがPCIカードに対応しているかを知るにはどうすればよいですか?

セルラー通信用の3GPCIeカードを内蔵した車両用コンピューターを持っていますが、ATコマンドを送信するために使用する必要のあるシリアルポートがわかりません。

このコンピューターにはGPSも搭載されており、/dev/ttyS5を介して9600の速度で非常によくアクセスできます。いくつかのドキュメントを読んでいて、3Gカードの速度は115200である必要があることがわかりました。この3GPCIカードは"Telit HE910 Mini PCIeデータカード"そして私はbuntu 14.04で実行しています。

また、以下のようにn(0 ... 5)ポートでシリアルcomを開こうとしましたが、結果はありませんでした。

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カードにアクセスする方法を理解するのを手伝ってください。

4
vudu

lspci -vを使用して、PCIデバイス情報とそのIRQを一覧表示できます。 lspciを介してリストされたIRQをすでに収集した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 command = 101 "。151fはベンダーID、000は" lspci -n-v "または/ proc/bus/pciまたは" scanpci-v "から取得したデバイスIDです。" command = 101 "これは、101が「lspci」によって表示される「制御」レジスタと同じコマンドレジスタに配置されることを意味します。101hは2ビットを設定します。1はI/Oを+に設定し、100部分はSERR#を+に設定します。この場合、lspciコマンドの実行時に制御レジスタのSERR#ビットのみが最初に+であることが観察されたため、最初にビット8(ビット0はI/O)を1に設定することにより、+を有効にしたままにしました。 101分の1。一部のシリアルカードはSERR#を使用しないため、SERR#が表示された場合は有効にする必要がないため、command = 1を使用します。次に次のようにします。 「setserial」を設定して、ドライバーにIOおよびIRQを通知します。

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コマンドの汎用ポート

5
alienth