#title 無線LANデバイスに関する情報を調べるには * '''対象とするUbuntuのバージョン''' * すべて ||<>|| Ubuntu日本語フォーラムへの相談の中でも、無線LANに関するものは目立って多いです。しかし互いに共有できる情報が少なく、問題解決に結びついてない例がたくさん見受けられます。 問題解決に必要な情報は以下の4点です。 * 無線LAN子機の販売元の商品紹介URL * 無線LAN子機に関する情報 * 現在システムで有効化しているカーネルモジュール<> * 無線LAN子機をシステムがどう認識しているかという情報 この文書は、下の3点を調べるための簡単なガイダンスです。画面による操作ではなくコマンドによる操作が主体ですので、初心者の方は身構えてしまうかもしれませんが、ここにご紹介するコマンドは単純なものばかりですので、気負わずにとりあえずやってみてください。 なお、無線LAN子機を無線LANデバイス、それに内蔵されているチップを無線LANチップと呼ぶことにします。 ---- <> == 無線LANデバイスに関する情報を調べる方法 == 内蔵されている無線LANチップに見当を付け、それに対応するカーネルモジュールを調べます。 なお、ここではGNOMEの端末を利用していきます。「Alt」キーと「F2」キーを同時に押し、アプリケーションの起動ボックスを表示して下さい。「gnome-terminal」を入力して実行すると、GNOMEの端末が開きます。 [[attachment:gnome-terminal.png|{{attachment:gnome-terminal.png|GNOME端末の起動|width=494, height=368}}]] 端末にコマンドを入力し、その出力を見ます。 === 内蔵あるいはPCカードバス/ExpressCardバス接続の無線LANデバイスの場合 === このグループは、PCIバス/PCI-Expressバス、あるいはそれにぶら下がっているPCカードバス/!ExpressCardバスに接続されているデバイスとなります。このグループの無線LANデバイスに対しては、コマンド「lspci」を活用していきます。 以下のコマンドを実行して下さい。 {{{ $ lspci; (中略) 06:00.0 Network controller: Ralink corp. RT2800 802.11n PCI }}} 上の出力では、!RaLink社のRT2800を無線LANチップとして内蔵していることがわかります。 次に、先頭のバス番号に着目して、以下のコマンドを実行します。無線LANデバイスに関する詳細な情報が出力されます。 {{{ $ lspci -vnns 06:00.0; 06:00.0 Network controller [0280]: Ralink corp. RT2800 802.11n PCI [1814:0601] Subsystem: Allied Telesyn International Device [1259:c129] Flags: bus master, slow devsel, latency 64, IRQ 16 Memory at c0000000 (32-bit, non-prefetchable) [size=64K] Capabilities: [40] Power Management version 3 Kernel driver in use: rt2860 Kernel modules: rt2860sta, rt2800pci }}} カーネルモジュールとして、「rt2860sta」と「rt2800pci」を利用可能であることがわかります。 === USB接続の無線LANデバイスの場合 === ユニバーサル・シリアル・バス(USB)は、PCIバスまたはPCI-Expressバスにぶら下がっています。このグループの無線LANデバイスに対しては、コマンド「lsusb」を活用していきます。 以下のコマンドを実行します。 {{{ $ lsusb; (中略) Bus 001 Device 008: ID 0411:015d MelCo., Inc. Buffalo WLI-UC-GN Wireless LAN Adapter [Ralink RT2870] }}} 上の出力では、!RaLink社のRT2870を無線LANチップとして内蔵していることがわかります。 もしこれでもわからない場合は、先の出力の「Bus」番号と「Device」番号に着目して、以下のコマンドを実行します。 {{{ $ lsusb -vs 001:008; (省略) }}} 長々と出力されます。これは、USB接続のデバイスのディスクリプタに関する表示です。この中から、内蔵チップを特定できそうな項目を見つけて下さい。(DescriptorはUSBの仕様に書かれています) 次に、以下のコマンドを実行します。 {{{ $ lsusb -t; /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/4p, 480M |__ Port 3: Dev 10, If 0, Class=vend., Driver=rt2870, 480M }}} 先の出力の「Bus」番号と「Device」番号に該当する出力を見ます。Driver=rt2870なので、カーネルモジュールとしてrt2870が使われているのがわかります。 == 現在システムで有効化しているカーネルモジュール == GNOME端末でコマンド「lsmod」を実行すると、有効化されているカーネルモジュールの一覧が表示されます。 {{{ $ lsmod; Module Size Used by md4 12473 0 rt2860sta 488097 0 arc4 12418 0 rt2800pci 17600 0 rt2800lib 38835 1 rt2800pci crc_ccitt 12331 2 rt2860sta,rt2800lib rt2x00pci 12721 1 rt2800pci rt2x00lib 32825 3 rt2800pci,rt2800lib,rt2x00pci mac80211 239384 3 rt2800lib,rt2x00pci,rt2x00lib cfg80211 136681 2 rt2x00lib,mac80211 eeprom_93cx6 12344 1 rt2800pci (省略) }}} == システムがそのデバイスをどう認識しているか調べる方法 == 接続時に出力されるログを確認します。 === 外付けの無線LANデバイスの場合 === まず外付けの無線LANデバイスであれば、接続しない状態でコンピュータの電源を入れて下さい。 起動してログインしたら、「Alt」キーと「F2」キーを同時に押し、アプリケーションの起動ボックスを表示して下さい。「gnome-system-log」を入力して実行すると、GNOMEのログ・ビューワーが開きます。 左側のリストから、syslogを選択します。右側に現在のログが表示されますので、最下段までスクロールして下さい。 [[attachment:gnome-system-log-1.png|{{attachment:gnome-system-log-1.png|ログ・ビューワー|width=532, height=385}}]] 外付けの無線LANデバイスを接続すると、新しいログが得られます。新しいログは太字で表示されます。 [[attachment:gnome-system-log-2.png|{{attachment:gnome-system-log-2.png|更新されたログ・ビューワー|width=532, height=385}}]] 得られた新しい出力をコピーし、テキストファイルとして保存しておくと、トラブルシュートの役に立ちます。 === 内蔵の無線LANデバイスの場合 === 起動してログインすると、syslogにすでにログが出力されています。上記と同じようにしてログを確認し、該当してそうな出力を見つけて下さい。 == ndiswrapperを使っている場合 == ndiswrapperは、無線LANドライバのWindows用バイナリをLinuxカーネル内で動作させる仕組みです。Linuxカーネルにカーネルモジュールの形でドライバが含まれていない無線LANデバイスの場合、ndiswrapperを利用することで動作する可能性があります。 この場合、ndiswrapperを使っているということを明記するようにして下さい。