Emma2
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Ich möchte einen Raspberry Pi über USB mit dem PC verbinden (aktuell Ubuntu, später im Projekt leider Windows), hänge aber irgendwie bei den Grundlagen... Auf dem Pi kann ich den USB-Port "als Netzwerkkarte" konfigurieren, steht z.B. in https://raspberrypi.stackexchange.com/questions/112240/communication-between-raspi-and-another-computer-over-usb. Dort sehe ich dann auf ifconfig einen Netzwerkadapter namens usb0.
Aber was muss ich auf Linux-Seite dazu tun? Die entsprechenden Module scheinen geladen zu sein:
| $ lsmod | grep usbnet
usbnet 53248 3 cdc_mbim,cdc_ncm,cdc_ether
mii 20480 1 usbnet
|
Ich sehe dort aber keinen entsprechenden "Netzwerkadapter". Wie richte ich den ein? ... und dann noch die Frage: wie sorge ich dafür, dass dieser "Adapter" genutzt wird, wenn ich z.B. per ssh zum Pi will? Muss ich dann bei mir den USB-Adapter als Gateway für die IP des Pi eintragen? In dem oben zitietren Beispiel steht leider dazu gar nichts, dort sieht es aus, als ginge es "einfach so" - tut es aber nicht.
p.s.: Um die "unvermeidliche" Frage vorab zu beantworten, ich möchte nicht normales Ethernet oder WiFi benutzen, denn im späteren Projekt stehen die nicht zur Verfügung (es ist gefordert, separat davon zu bleiben, und das Zielsystem hat nicht unbedingt eine zweite Netzwerkkarte).
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Also der PI soll einen USB-Port so behandeln, was wäre er eine Netzwerkkarte gegenüber dem PC?
Der PC erkennt ne USB-Netzwerkkarte und im Pi gibt es ne zusätzliche Karte, die dann über USB geht. Die Netzwerk-Sachen klären wir dann später. Am besten nimmt man zur Kommunikation IPv6-link-local, das ist automatisch da und man muss nichts einrichten.
Da gibt man dann bei der Adresse das lokale Interface an, über das der Traffic geht.
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Hallo, und vielen Dank für die schnelle Antwort. 😀
Vermutlich habe ich es etwas kraus formuliert, also noch einmal - hoffentlich sauberer:
Auf Seiten des Pi scheint es schon zu funktionieren, ja, er "sieht" den USB-Port als "Netzwerkadapter":
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 | pi@rasppidev:~ $ ifconfig -a
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether e4:5f:01:d8:99:5f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Lokale Schleife)
RX packets 33 bytes 3351 (3.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 33 bytes 3351 (3.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
usb0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b6:ca:ef:09:4b:54 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.179 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b06f:ca62:f74f:891d prefixlen 64 scopeid 0x20<link>
ether e4:5f:01:d8:99:60 txqueuelen 1000 (Ethernet)
RX packets 470 bytes 382901 (373.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 320 bytes 39023 (38.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
(eth0 und wlan0 will ich abschalten bzw. später "anders" nutzen.)
Ob der PC eine Netzwerkkarte erkennt, das weiß ich eben nicht, denn sie wird dort ja auf ifconfig hin eben nicht angezeigt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | $ ifconfig
enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.161 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::56e1:adff:fe92:4d23 prefixlen 64 scopeid 0x20<link>
ether 54:e1:ad:92:4d:23 txqueuelen 1000 (Ethernet)
RX packets 502293479 bytes 721987199265 (721.9 GB)
RX errors 0 dropped 812276 overruns 0 frame 0
TX packets 229995073 bytes 24324798504 (24.3 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0xdc100000-dc120000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Lokale Schleife)
RX packets 310286 bytes 27640237 (27.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 310286 bytes 27640237 (27.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
|
Daran scheitert es also schon. Konkret suche ich Unterstützung bei folgenden Schritten: 1. Aktivieren der "USB-Netzwerkkarte" 2. Einrichten der "USB-Netzwerkkarte" 3. Einrichten der Verbindung (ssh oder sftp als Test, später Sockets) zum Pi am anderen Ende des USB-Kabels NB: ssh und sftp selbst funktionieren, wenn ich den Pi über WiFi "sehe".
Oder hast Du mir die Lösung schon aufgezeigt? Deinen Satz über "IPv6-link-local" verstehe ich leider nicht. Könntest Du mir mit einem Beispiel aushelfen?
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Wird der Pi nun unter lsusb am PC angezeigt?
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Nein, wird er nicht. Egal, ob ich das USB-Kabel anstecke oder abziehe, bleibt das Ergebnis:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | $ lsusb
Bus 002 Device 007: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 005: ID 17ef:1010 Lenovo Lenovo ThinkPad Dock
Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. USB3.0-CRW
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 138a:0097 Validity Sensors, Inc.
Bus 001 Device 007: ID 5986:111c Acer, Inc Integrated Camera
Bus 001 Device 005: ID 8087:0a2b Intel Corp.
Bus 001 Device 070: ID 1199:9079 Sierra Wireless, Inc. Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
Bus 001 Device 068: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 015: ID 17ef:100f Lenovo Lenovo ThinkPad Dock
Bus 001 Device 067: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 012: ID 17ef:1010 Lenovo Lenovo ThinkPad Dock
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
Aber wieso sollte er denn überhaupt dort angezeigt werden? Ich betreibe ihn doch nicht im "Gadget-Mode".
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Aber wieso sollte er denn überhaupt dort angezeigt werden? Ich betreibe ihn doch nicht im "Gadget-Mode".
Weil er das muss. Nur so kann er für den PC eine USB-Netzwerkkarte sein, was du haben willst.
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Hmm, aber dann ist das Ganze also nicht symmetrisch? Ich hatte jetzt irgendwie die Vorstellung, dass sowohl auf dem Pi als auch auf dem PC der USB-Adapter als "weitere Netzwerkkarte" auftaucht, der ich dann z.B. manuell eine IP geben kann... und über diese IP können die beiden sich dann gegenseitig erreichen. Ist das denn falsch?
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Vergiss bitte das Netzwerk und die IP-Adressen. Erstmal muss für den PC die USB-Karte verfügbar sein, was sie aktuell nicht ist.
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Ok, Netzwerk vergesse ich erst einmal... Aber wahrscheinlich stehe ich trotzdem "auf dem Schlauch": Was meinst Du denn mit "USB-Karte"? Ich verstehe nicht, was der PC hier denn sehen soll? Müsste das dann aber nicht umgekehrt auch für den Pi gelten? Dass er etwas "sieht"?
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Der PC muss ja irgendwie mit dem Netzwerk vom PI verbunden werden. Das geht per USB. richtig?
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
"Jein"... wieso "mit dem Netzwerk vom Pi"?Ich hatte es bisher so verstanden, dass ein USB-Device/Bus quasi als "Netzwerkkarte" auftaucht - so sieht es doch zumindest auf dem Pi aus (siehe Ergebnis von ifconfig oben). Dann würde ich erwarten, dass das auf dem PC genauso aussieht. Oder habe ich das an dieser Stelle schon ganz falsch verstanden? Ich dachte, ein "Gerät", das ich an einen USB-Anschluss stecke, sehe ich nur dann spontan, wenn dieses Gerät eben kein Host ist, sondern ein "Gadget". (NB: Diesen Mode kann der Pi auch, aber dann ist er ja eher "passiv", zumindest "sieht" er dann den PC nicht, und ich könnte wohl nur kommunizieren, indem der PC Dateien irgendwo auf dem Pi ablegt...)
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Habe gerade noch etwas gefunden: Es könnte sein, dass nicht alle USB-Ports des Pi als Netzwerkanschluss verwendet werden können, steht hier: https://raspberrypi.stackexchange.com/questions/100583/where-is-the-usb2-otg-port-on-the-rpi-4-model-b-located Zumindest für den "Gadget-Mode" muss es anscheinend der USB-C-Port sein, in dem normalerweise das Netzteil steckt. (Zugegeben, ich möchte eigentlich nicht den Gadget-Mode nutzen, aber wenn ich sonst keine Lösung finde, würde ich den wohl auch einmal testen...)
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17365
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Der Rechner muss jetzt per USB den Pi anzeigen. Solange das nicht der Fall ist, ist was faul.
|
Emma2
(Themenstarter)
Anmeldungsdatum: 28. Dezember 2018
Beiträge: 438
|
Ich habe nun den Pi über seinen "Power"-USB-Anschluss an den PC gestöpselt, und dann sehe ich ihn tatsächlich, aber eben als "Gadget" (Bus 001, Device 001):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | $ lsusb
Bus 002 Device 007: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 002 Device 005: ID 17ef:1010 Lenovo Lenovo ThinkPad Dock
Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. USB3.0-CRW
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 138a:0097 Validity Sensors, Inc.
Bus 001 Device 007: ID 5986:111c Acer, Inc Integrated Camera
Bus 001 Device 005: ID 8087:0a2b Intel Corp.
Bus 001 Device 070: ID 1199:9079 Sierra Wireless, Inc. Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
Bus 001 Device 068: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 015: ID 17ef:100f Lenovo Lenovo ThinkPad Dock
Bus 001 Device 081: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
Bus 001 Device 067: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 012: ID 17ef:1010 Lenovo Lenovo ThinkPad Dock
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
|
Aber dann ist der Pi "passiv", ich kann an ihm nichts machen, habe kein Monitorbild, nix. Der Pi ist dann auch nicht mehr per ping zu erreichen, er erscheint mir eben als "dummes Gerät".
Dabei möchte ich doch eigentlich dieses tun: https://raspberrypi.stackexchange.com/questions/112240/communication-between-raspi-and-another-computer-over-usb, wüsste aber nicht, wie ich ihn jetzt überhaupt ansprechen soll... 😢
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11115
Wohnort: München
|
Wie viel Bandbreite brauchst du für die Verbindung? Geht es da nur darum Befehle abzusetzen oder sollen da auch größere Datenmengen drüber laufen? Für ersteres reicht ein USB-Seriell-Adapter an den entsprechenden GPIO-Pins: https://elinux.org/RPi_Serial_Connection
|