Tethering bluetooth da shell

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Tethering bluetooth da shell

Messaggio da joe »

In questi giorni sono costretto con un collegamento internet di fortuna attraverso lo smartphone collegato via USB.
Cioè, lo smartphone si collega ad internet su rete mobile.
Il PC con linux è collegato allo smartphone via USB, e attraverso l'interfaccia "usb0" che viene a crearsi automaticamente, riesco ad accedere ad internet.

Ora, il telefono dall'USB resta praticamente sempre fisso in carica. La cosa non mi va a genio e vorrei provare a collegarlo al PC via bluetooth.
L'obiettivo è lo stesso, dare internet al PC linux slackware, usando la connessione alla rete mobile del telefono.

Leggendomi un po' di roba, ho registrato il dispositivo bluetooth con: "/etc/rc.d/rc.bluetoothd start" e bluetoothctl.
Sembrerebbe accoppiato regolarmente e anche impostato come "trusted".
Attivando sul telefono il tethering via bluetooth mi sarei aspettato una nuova interfaccia di rete su linux. Da come ho letto in giro potrebbe essere qualcosa di simile a "bnep0".
Invece niente, non ho alcuna interfaccia aggiunta automaticamente al contrario di auqanto accade collegandomi in usb e attivando sempre dal telefono il tethering USB.

Avete qualche consiglio su questo passaggio?
Preferirei fare tutto da shell senza tanti tool grafici... Poi una volta presente l'interfaccia di rete vado di "ip" e "dhclient".

Grazie in anticipo!

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Tethering bluetooth da shell

Messaggio da erio »

da prendere con le molle: in console
dbus-send --system --type=method_call --dest=org.bluez /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF org.bluez.Network1.Connect string:'nap'
dove dev abcdef e' il risultato di bluetoothctl scan on device devi inserirlo nello script e questo ti da l'intefaccia bnep0 ho fatto una prova e la connessione al telefono la trovi in network manager,il tutto preso da arch wiki

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Tethering bluetooth da shell

Messaggio da joe »

Scusami se ne approfitto.
Scrivi: "la connessione la trovi in network manager".
Non uso network manager... Ad ogni modo, quale interfaccia ti propone?

Non è che potresti fare un attimo la prova e controllare se lanciando da root (prima e dopo il colelgamento):

Codice: Seleziona tutto

ip l sh
oppure:

Codice: Seleziona tutto

ifconfig -a
ti salta fuori l'interfaccia di rete da gestire?
E quale interfaccia viene aggiunta nel tuo caso?

Grazie mille per il report.
Riproverò anch'io, avevo visto e provato quella stringa di udev, ma senza successo.. poi però mi sono accorto che il cellulare non si connetteva effettivamente al bluetooth del PC e che per farlo occorre premere "connetti" dal telefono, nell'impostazione bluetooth ecc...
Forse riprovando la stringa dopo essermi assicurato che il telefono sia effettivamente connesso potrebbe crearsi finalmente la nuova interfaccia.
Provo anch'io.

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Tethering bluetooth da shell

Messaggio da erio »

Codice: Seleziona tutto

 bash-5.1# ip l sh
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether d0:50:99:65:4e:d1 brd ff:ff:ff:ff:ff:ff
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether 42:f1:3b:8e:19:9b brd ff:ff:ff:ff:ff:ff permaddr 00:e0:4c:1f:a0:31
4: bnep0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether 00:1a:7d:da:71:0d brd ff:ff:ff:ff:ff:ff
bash-5.1# ifconfig -a
bnep0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.44.112  netmask 255.255.255.0  broadcast 192.168.44.255
        inet6 fe80::1cad:3944:d623:acbf  prefixlen 64  scopeid 0x20<link>
        ether 00:1a:7d:da:71:0d  txqueuelen 1000  (Ethernet)
        RX packets 600  bytes 307120 (299.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 665  bytes 69164 (67.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether d0:50:99:65:4e:d1  txqueuelen 1000  (Ethernet)
        RX packets 73  bytes 6366 (6.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 5652 (5.5 KiB)
        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  (Local Loopback)
        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=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 42:f1:3b:8e:19:9b  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 154284 (150.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 2946 (2.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

bash-5.1# 

                                                                                    
ho spento sia ethernet che un dongle wifi che ho e la connessione adesso passa tutta da bnep0 io ho network manager ma puoi provare con dhcpcd bnep0

bash-5.1# dhcpcd bnep0
dhcpcd-9.4.1 starting
DUID 00:04:03:00:02:00:04:00:05:00:00:06:00:07:00:08:00:09
bnep0: IAID 7d:da:71:0d
bnep0: rebinding lease of 192.168.44.112
bnep0: leased 192.168.44.112 for 3600 seconds
bnep0: adding route to 192.168.44.0/24
bnep0: adding default route via 192.168.44.1
forked to background, child pid 3023
bash-5.1#
vedi se ti e' utile il browser lo tiene bene ma il download non supera i 150kb

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Tethering bluetooth da shell

Messaggio da joe »

Sì ho pensato anche io la stessa cosa, era per non tenere fisso in carica il telefono, ma in effetti le prestazioni se ne vanno a ramengo.
Provo anche io il prima possibile, più per curiosità a sto punto che altro.

2 cose:

- la connessione via bluetooth come l'hai creata? Io ho fatto il pairing con bluetoothctl, ho impostato anche come trusted, però come ho scritto, per connettermi davvero devo "tappare" dal telefono... Tu sei mica riuscito agendo solo da PC?

- nel tuo caso bnep0 viene creata con la stringa che hai mostrato sopra udev-send ecc? Oppure fai tutto con network-manager?

Grazie ancora eh!

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Tethering bluetooth da shell

Messaggio da erio »

io ho un honor 9 lite devi andare in wireless e reti per attivare il tethering/hotspot mobile : condivisione bluetooth, una volta attivata puoi usarla: con bluetoothctl trovi i dati che lo script vuole e devi metterli in quella forma
[bluetooth]# scan on
Failed to start discovery: org.bluez.Error.InProgress
[CHG] Device 74:D2:1D:8F:08:4D Connected: yes
[CHG] Device 74:D2:1D:8F:08:4D Connected: no
[bluetooth]#
in caso di emergenza e' utile avere la rete attiva,network manager trova subito tutte le reti attive e il telefono compare come accesso alla rete ma una volta attivato lo script in konsole: dhcpcd bnep0 ti permette la conessione forse, devi provare e il telefono lo vedi anche nell'icona bluetooth.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Tethering bluetooth da shell

Messaggio da joe »

No, da me c'è qualcosa che non va...
Devo dire che ho pochi automatismi attivi sul sistema, tipo l'icona del BT non c'è, non uso KDE ecc...

Incollo sotto parte del /var/log/messages:

Codice: Seleziona tutto

Apr 29 18:28:35  bluetoothd[1408]: Bluetooth daemon 5.47
Apr 29 18:28:35  bluetoothd[1408]: Starting SDP server
Apr 29 18:28:35  kernel: [41243.795555] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Apr 29 18:28:35  kernel: [41243.795559] Bluetooth: BNEP filters: protocol multicast
Apr 29 18:28:35  kernel: [41243.795564] Bluetooth: BNEP socket layer initialized
Apr 29 18:28:35  bluetoothd[1408]: Bluetooth management interface 1.18 initialized
Apr 29 18:28:35  bluetoothd[1408]: Endpoint registered: sender=:1.44 path=/MediaEndpoint/A2DPSource
Apr 29 18:28:35  bluetoothd[1408]: Endpoint registered: sender=:1.44 path=/MediaEndpoint/A2DPSink
Apr 29 18:28:35  kernel: [41243.820134] Bluetooth: RFCOMM TTY layer initialized
Apr 29 18:28:35  kernel: [41243.820144] Bluetooth: RFCOMM socket layer initialized
Apr 29 18:28:35  kernel: [41243.820152] Bluetooth: RFCOMM ver 1.11
Apr 29 18:28:47  kernel: [41256.076147] NET: Registered protocol family 38
Apr 29 18:30:04  bluetoothd[1408]: /org/bluez/hci0/dev_CC_C3_ED_FC_EE_8A/fd0: fd(26) ready
Apr 29 18:32:52  dbus[1117]: [system] Rejected send message, 1 matched rules; type="method_return", sender=":1.44" (uid=1000 pid=2510 comm="/usr/bin/pulseaudio --start --log-target=syslog ") interface="(unset)" member="(unset)" error name="(unset)" requested_reply="0" destination=":1.462" (uid=0 pid=1408 comm="/usr/sbin/bluetoothd ")
Cosa diamine significhi non ne ho idea, ma di interfaccia di rete bnep0 qui non se ne vedono.

erio
Linux 4.x
Linux 4.x
Messaggi: 1354
Iscritto il: ven 9 ott 2009, 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: Tethering bluetooth da shell

Messaggio da erio »

sto facendo un lavoro su arch e all'inizio anche arch non si connetteva alla rete del telefono poi ho dato questo comando:
beny@archlinux ~]$ bluetoothctl discoverable on
Changing discoverable on succeeded
[beny@archlinux ~]$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether d0:50:99:65:4e:d1 brd ff:ff:ff:ff:ff:ff
7: bnep0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 00:1a:7d:da:71:0d brd ff:ff:ff:ff:ff:ff
e si e' attivata qui non ho network manager

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Tethering bluetooth da shell

Messaggio da joe »

Nel mio caso però la connessione BT sembrerebbe in piedi. Cioè anche dal telefono in bluetooth vedo il PC che è chiamato "Bluez-5.47" e vicino c'è proprio scritto "Connesso".
Il fatto di essere discoverable o no, credo riguardi il PC via bluetooth: se lo imposti su "discoverable off" in teoria dal telefono non dovresti vedere il PC via BT.
Ma di fatto credo che se tu hai già eseguito il pairing dei dispositivi e per di più hai impostato il cellulare come "trusted", forse non serve neanche.
Serve solo la prima volta quando devi accoppiare i dispositivi: se uno dei due è impostato non visibile non riesci a fare il pairing.

Invece il mio problema è dopo.
Faccio il pairing.
Connetto telefono a PC via BT.
Ma quando dal telefono accendo il tethering BT. Invece di accadere qualcosa sul PC tipo la creazione di una interfaccia di rete nuova. Non accade nulla.

Va be' guarda lasciamo perdere, tanto come dicevo era solo una curiosità dal momento che le velocità in gioco sono ridicole e alla fine non metterei in piedi nulla di utile per navigare dal PC.

PS
Tra l'altro m'era arrivata mail che avrebbero dovuto sistemare ieri la situazione post temporale, invece niente, neanche sta sera funziona ancora nulla. E va già bene che col telefono come modem qualche ricerca in rete non ho grossi problemi a farla... ma se vuoi vedere qualche roba sul tubo o simili niente da fare perché non ho tanti GB nella mia offerta. Il cellulare lo uso in genere come telefono, messaggini, qualche foto e roba così.

Rispondi