[Megoldva] LAN beállitás nmcli használatával, bash scrip is jó lenne

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.

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

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.

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

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

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-…

Szerkesztve: 2021. 12. 22., sze – 15:38

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.

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.

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.”