Wie kann ich den drahtlosen USB-Adapter in der dmesg-Protokolldatei finden?

12405
AndreaNobili

Ich bin ziemlich neu in Linux (RaspBian für RaspBerry Pi, aber ich denke, dass es keinen Unterschied gibt) und ich muss einen drahtlosen USB-Netzwerkadapter installieren (das Produkt ist der TP-Link TL-WN725N, dieser hier: http: // www .tp-link.it / products / details /? model = TL-WN725N )

Jetzt denke ich, dass dies von meinem System nicht automatisch erkannt wird, da ich, wenn ich den Befehl ifconfig ausführt, die folgende Ausgabe erhalte :

pi@raspberrypi ~ $ ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:2a:9f:b0  inet addr:192.168.1.8 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:475 errors:0 dropped:0 overruns:0 frame:0 TX packets:424 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:34195 (33.3 KiB) TX bytes:89578 (87.4 KiB)  lo Link encap:Local Loopback  inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0  RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 

So jetzt sieht es nur meine Ethernet-Netzwerkschnittstelle und nicht das WLAN.

Also habe ich überlegt, ob ich versuchen sollte, in die dmesg zu sehen, aber ich weiß nicht, was ich sehen muss und wie ich es in die dmesg-Ausgabe setzen kann.

Durch den folgenden Befehl kann ich beispielsweise sehen, dass sich die Zeile der dmesg-Protokolldatei auf meinen Ethernet-Port bezieht:

pi@raspberrypi ~ $ cat /var/log/dmesg |grep -i eth [ 3.177620] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:2a:9f:b0 [ 18.030389] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup [ 19.642167] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 

Aber was kann ich versuchen, nach dem drahtlosen USB-Adapter zu suchen?

Tnx

1
Am einfachsten ist es, den Netzstecker zu ziehen und nach dem Booten wieder anzuschließen. Sie verlieren Ihre Verbindung, aber sobald Sie die Verbindung wieder hergestellt haben, können Sie `dmesg` und die letzten Einträge beziehen sich auf das Einrichten der Verbindung. Paul vor 9 Jahren 0
"ifconfig -a" zeigt alle Schnittstellen. "-a" zeigt alle derzeit verfügbaren Schnittstellen an, auch wenn diese nicht aktiv sind. Wenn ifconfig nicht mehr empfohlen wird, wird "ip link" empfohlen. Cristian Ciupitu vor 9 Jahren 0

1 Antwort auf die Frage

5
MariusMatutiae

Es gibt viele nützliche Befehle. Der erste ist lsusb, der alle angeschlossenen USB-Geräte auflistet. Sie sollten dort Ihren USB-Adapter sehen.

Zweitens ist lspci und zeigt alle an den PCI-Bus angeschlossenen Geräte. In meinem Fall erhalte ich zum Beispiel (Einschränkung der Ausgabe auf Netzwerkgeräte):

 $ lspci -vnn | grep -i net 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network Connection [8086:1502] (rev 04) 04:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24) 

Dies zeigt den wichtigen Code Ihrer WLAN-Karte [8086: 088e] in meinem Fall.

Dann suchen Sie nach diesem Code in Wikidevi : Die gefundene Seite besagt, dass der Treiber für meine WLAN-Karte in meinem Fall iwlwifi ist. Es ist wichtig, dass Sie den Code in eckigen Klammern oben verwenden, da Hersteller häufig mehrere Versionen eines WLAN-Adapters mit unterschiedlichen Chips haben, manchmal sogar von verschiedenen Herstellern (!!!), die unterschiedliche Treiber benötigen. Daher ist die einzige sichere Methode zur Identifizierung Ihres Treibers nicht der Name des Adapters, sondern der Code.

Nun, da wir den Namen des Fahrers kennen, prüfen wir zuerst, ob wir ihn haben.

 modinfo iwlwifi 

Wenn es etwas gibt, haben wir es. Dann prüfen wir, ob die Karte wirklich für meine Karte geeignet ist:

 $ modinfo iwlwifi | grep 8086 | grep 088E alias: pci:v00008086d0000088Esv*sd00004860bc*sc*i* alias: pci:v00008086d0000088Esv*sd0000446Abc*sc*i* alias: pci:v00008086d0000088Esv*sd00004460bc*sc*i* alias: pci:v00008086d0000088Esv*sd0000406Abc*sc*i* alias: pci:v00008086d0000088Esv*sd00004060bc*sc*i* 

Dies zeigt, dass mein Treiber über mehrere Leitungen (entsprechend verschiedenen Versionen meines WLAN-Adapters) für den Herstellercode V8086 und den Gerätecode d088E meiner Karte verfügt. Beachten Sie, dass Sie in diesem Fall müssen Großbuchstaben verwenden, E in meinem Fall. Dieser Treiber ist also für meinen Adapter geeignet.

Dann prüfen wir, ob es richtig montiert ist:

 sudo lshw -C network 

Die Ausgabe ist länglich (es handelt sich um eine Ethernet-Karte, eine 3G-Karte, ...), aber der relevante Teil ist:

 *-network description: Wireless interface product: Centrino Advanced-N 6235 vendor: Intel Corporation physical id: 0 bus info: pci@0000:04:00.0 logical name: wlan0 version: 24 serial: c8:f7:33:4c:cc:e1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwlwifi driverversion=3.13.0-27-generic firmware=18.168.6.1 latency=0 link=no multicast=yes wireless=IEEE 802.11abgn resources: irq:47 memory:e2500000-e2501fff 

Hier sehen Sie, dass es sagt Treiber = iwlwifi und Firmware = ... . Somit wurden die richtigen Treiber und Firmware in den Kernel geladen. In meinem Fall funktioniert alles gut.

Schließlich können wir prüfen, ob der Adapter nach oben oder nach unten : von der vorherige Ausgabe, die Sie sehen, dass meine WLAN - Karte physische Namen gegeben 0 (entsprechend phy0 ) und logische Namen wlan0 . Ich kann über den aktuellen Status suchen

 $ ip link list dev wlan0 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000  link/ether c8:f7:33:4c:cc:e1 brd ff:ff:ff:ff:ff:ff 

was eindeutig sagt, dass es UP ist. Wenn nicht, dieser Befehl

 sudo ip link set dev wlan0 up 

würde es ansprechen.

Wenn all dies überprüft wurde und in Ordnung ist, aber Ihr WLAN immer noch nicht funktioniert, können Sie nützliche Informationen mit dem Befehl erhalten:

 dmesg | grep wlan0 

oder wlan1 oder wie auch immer Ihre WLAN-Karte aufgerufen wird.

Sie können die gleichen Schritte ausführen und sehen, was in Ihrem Fall fehlt.

Perfekte Erklärung !!! Sie haben mir einige großartige Informationen gegeben, wie Linux funktioniert !!! Tnx so viel AndreaNobili vor 9 Jahren 0