Sziasztok !
A cli módban, GUI nélkül induló gépen szeretném bash sctiptben elinditani és beállitani a konkrét wifi kapcsolatomat.
( Esetleg 2- 3 létező, jó térerejű, jó sebességű kapcsolat között váltani ha lehetséges. )
Linux raspberrypi 5.10.63-v7l+ #1496 SMP Wed Dec 1 15:58:56 GMT 2021 armv7l GNU/Linux
[Megoldás]
Sok lehetőséget elolvasva, kipróbálva mindig falakba ütköztem.
A lényeg az, hogy a hálózatkezelők igy- úgy haonlóan dolgoztak, mindig az
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/dhcpcd.conf
/etc/network/interfaces fájlokkal manipuláltak.
A raspberry pi sajátosságait figyelembe véve az én céljaim szerint ötvöztem
az olvasottakból azt amit tudtam. Megirtam néhány bash scriptet ami nem
biztos, hogy mindenkinek tetszik, de nekem jó eredmény hoz, cli módban
csatlakozik a kiválasztott hálózathoz. Ahány helyre akarok csatlakozni
annyi féle scriptet csináltam, itt most csak egy példa a vodafone :
https://pastebin.com/PTQxL8Db
a különböző routernek megfelelően létrehoztam a wpa_supplicant fájlokat
itt például a vodafone : https://pastebin.com/eQugKJCd majd végül a
megfelelő vodás beállitásokkal az interfaces fájlt : https://pastebin.com/5zy4KAfi
Mind a 3 fájlt, itt most a vodafone.sh script cseréli le, teszi a helyére.
Nekem most 7 különböző, ismert alhálózatra sikerült csatlakoznom cli módban.
- 306 megtekintés
Hozzászólások
telepítettem a pire : http://www.intellamech.com/RaspberryPi-projects/rpi_nmcli.html#1
de nem az óhajaim szerint működik:
pi@raspberrypi:~ $ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.92 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2c6f:146b:2302:3390 prefixlen 64 scopeid 0x20<link>
ether aa:eb:01:23:08:05 txqueuelen 1000 (Ethernet)
RX packets 43950 bytes 26083986 (24.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38353 bytes 5280657 (5.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ezek után pedig nem látja :
pi@raspberrypi:~ $ nmcli dev wifi
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY
pedig most is a wifi kapcsolatról posztolok:
pi@raspberrypi:~ $ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 ESSID:"tomato28"
Mode:Managed Frequency:2.437 GHz Access Point: 00:23:69:32:8E:4D
Bit Rate=24 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=66/70 Signal level=-44 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:33 Invalid misc:0 Missed beacon:0
Mit nem csinálok jól, hogyan tovább ?
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Elso kerdes, hogy NetworkManager kezeli-e a wireless kartyat. Ha unmanaged van mellett, akkor valami mas kezeli jelenleg, es at kell adni neki kezelesre.
nmcli dev status
DEVICE TYPE STATE CONNECTION
wlp2s0 wifi connected ...
p2p-dev-wlp2s0 wifi-p2p disconnected --
enp0s31f6 ethernet unavailable --
lo loopback unmanaged --
Mivel jelenleg aktiv WiFin vagy, igy nagyon ugy tunik, hogy valami mas hasznalja NM helyett.
- A hozzászóláshoz be kell jelentkezni
Hali!
Az én véleményem az, hogy hagyd a náthába a NyetWork Manazsert, én nem szeretem, de senkit nem akarok eltántorítani tőle. (NEM akarok hitvitát!)
Telepítsd fel a wpasupplicant csomagot.
wpa_passphrase ssid SSIDpassw összeállítással generáld le a kulcsot.
Tedd be a /etc/network/interfaces file-ba így:
iface wlan0 inet dhcp
wpa-ssid ssid
wpa-psk <amit a wpa_passphrase ssid SSIDpassw generált>
purge-el takarítsd el a Manazsert.
Menni fog boot után azonnal a WiFi akár grafikus környezet nélkül is. :)
Páka,
vfero
vfero
- A hozzászóláshoz be kell jelentkezni
Ezt feltétlen kipróbálom ! Köszönöm, majd visszajelzek.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Csak halkan jegyzem meg, hogy RTFM, kb ez van leírva a linkelt doksiban is! ;)
- A hozzászóláshoz be kell jelentkezni
pi@raspberrypi:~ $ nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet elérhetetlen --
wlan0 wifi elérhetetlen --
lo loopback kezeletlen --
Ez érdekes, mert a gui alatt a hálózat managger kezeli, működik a wifi, most is ez alól írok.
hogyan adhatom át a nmcli- nek a vezérlést ?
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Ez érdekes, mert a gui alatt a hálózat managger kezeli, működik a wifi, most is ez alól írok.
Ebben nem vagyok teljesen biztos, hogy ez a NetworkManagerhez kapcsolodo kliens (pl nm-applet).
Itt egy kis fogalmi zavar van, megprobalom elmagyarazni.
1: a NetworkManager egy daemon, ami kepes vezerelni a halozati kapcsolatokat, de nem ez az egyetlen, tobb modon is lehet halozat kapcsolatokat kezelni.
2: a NetworkManager-hez kapcsolodnak a hozza isrt kliensek (nmcli, nmtui, nm-applet)
3: Ha a gui-s boot opcioban NetworkManager van belove, akkor ott is mukodnie kell egy terminalban az nmcli-nek. De mivel az egy system level daemon, az a tippem, hogy vagy ott sem NetworkManager a halozatkezelo, vagy a gui/cli boot-od nem ugyanazt a rendszert inditja, hanem ket kulon install.
Egyebkent a halozatkezelo ikonon jobb katt, es About meg szokta mondani, hogy o pontosan melyik program. pl nalam "NetworkManager Applet".
Itt van egy masik leiras: https://www.dedoimedo.com/computers/rpi4-raspberry-pi-os-mate-wireless-…
- A hozzászóláshoz be kell jelentkezni
Eszerint ha jól látom alapból nincs management app, a gui-s tool konfigolja be, vagy kézzel kell felvenni a konfigokat. Networkmanagert nem elég telepíteni, a /etc/network/interfaces-ben (vagy a /etc/network/interfaces.d alatti csatolt konfigokban
) felvett eszközöket nem kezeli, tehát onnan ki kell kommentezni (a lo maradhat, a többit rá lehet bízni.) Ha ez megvan, akkor még írják pár helyen, hogy kell a networkmanager konfigját is reszelni, ezt így most nem tudom, meg kéne nézni mit tesz fel alapból.
szerk: nmtui lehet egyszerűbb elsőre tesztelni.
- A hozzászóláshoz be kell jelentkezni
A /etc/network/interfaces file üres nem kezel semmit.
Én csak egy adott SSID- re szeretném felcsatolni a cli módban induló raspberry pit.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Közben olvasgattam én is, wpa_supplicant meg a dhcpcd kezeli le. A Guis frontend ezeket lövi be (nem NetworkManager frontend). Alapból nincs networkmanager konfig sem, azt létre kell hozni. Ahogy utánanéztem, nem is feltétlen kell neked amúgy nm, elég lenne wicd. Bár azt nem tudom, hogy login nélkül be lehet-e lőni, sok éve nem használtam és akkor is csak desktopon userként.
Ha meg nem akarsz management démont, akkor amit korábban linkeltem doksit leírja, hogy hogyan lehet fixre felkonfigolni wpa_supplicanttal meg dhcpcd-vel.
- A hozzászóláshoz be kell jelentkezni
Ha valami csoda folytán a háttérben még mindig wpa_supplicant van, akkor nézd meg ezt a friss, ropogós blogbejegyzést:
- A hozzászóláshoz be kell jelentkezni
A wpasuplicant dolgozik, az jegyzi az SSID-k jlszavait is.
azt a linket megnézem
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Jól értem, hogy az a célod, hogy headless boottal, login nélkül automatikusan álljon fel rajta net wifin?
- A hozzászóláshoz be kell jelentkezni
Ahogy nezem tobben is szenvedtek mar wpa_supplicant cli manage-elesevel :)
- A hozzászóláshoz be kell jelentkezni
Megpróbálhatod az nm + iwd párost https://wiki.debian.org/NetworkManager/iwd
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
- A hozzászóláshoz be kell jelentkezni
Köszi, megnézem ezt is mert eddig nem tudtam összehónolni.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Ezt sokféleképpen meg lehet csinálni. Én Archon saját scripttel hívogatok wpa_supplicant-ot és utána dhcpcd-t:
wpa_supplicant -B -i interface_név -c /tetszőleges/mappa/saját.conf
dhcpcd --ipv4only
A saját.conf-ban pedig:
ap_scan=1
country=két-nagybetűs-országkód (pl. HU vagy GB, stb.)
network={
ssid="használni-kívánt-ssid-pontos-neve"
psk="plain-text-wifi-jelszó" }
Lehet rajta bonyolítani, wpa_passphrase-zel titkosítani a plain-text-wifi-jelszót, és akkor psk=nem-idézőjelezett-hosszúkód alapján megadni. De akinek ez a minimalista megoldás nehéz, vagy nem túl hülyebiztos (pl. a leszakadt kapcsolatot nem állítja helyre), akkor csinálhatja netctl-lel vagy NetworkManager + nmtui kombóval is, nem kell ahhoz sem grafikus felület, utóbbihoz csak egyszer kell beállítani a Wi-Fi, onnantól a NetworkManager megjegyzi, és a systemctl enable paranccsal hozzáadni a NetworkManager.service-t automatikus indulásra, akkor minden bootkor elindul és automatikusan megpróbál kapcsolódni azzal az eszközzel és adatokkal, amiket megjegyzett legutóbb. Nem kell minden kapcsolódáskor állítgatni az nmtui-t. Az nmcli is épp úgy használható, de azzal nincs tapasztalatom. Nagyon ajánlom az Arch Wiki és Gentoo Wiki wpa_supplicant, netctl, network manager szócikkeit, nagyon jó leírások vannak rá, hogy hogyan lehet a Wi-Fi kapcsolatot belőni. Természetesen az ott írtak minden systemd-s disztróra vonatkoznak, egyes esetekben a systemd-nélküliekre is.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni