rev |
line source |
slaxemulator@42
|
1 ====== Bluetooth ======
|
slaxemulator@42
|
2
|
slaxemulator@42
|
3 ===== Introduction =====
|
slaxemulator@42
|
4
|
slaxemulator@42
|
5 Ce guide vous aidera à configurer Bluetooth, par exemple pour utiliser votre téléphone comme modem.
|
slaxemulator@42
|
6 Effectuez les étapes suivantes en tant que root.
|
slaxemulator@42
|
7 Tout d'abord vous devez installer les packets de Slitaz liés à Bluetooth :
|
slaxemulator@42
|
8 # tazpkg get-install bluez
|
slaxemulator@42
|
9 # tazpkg get-install linux-bluetooth
|
slaxemulator@42
|
10 Le premier paquet contient la pile du protocole Bluetooth www.bluez.org officielle de Linux et le deuxième contient les modules du noyau liés à bluetooth.
|
slaxemulator@42
|
11 Maintenant vous pouvez lancer le démon Bluetooth :
|
slaxemulator@42
|
12 # bluetoothd
|
slaxemulator@42
|
13 Et charger le module requis par le périphérique Bluetooth local, qui est très probablement btusb :
|
slaxemulator@42
|
14 # modprobe btusb
|
slaxemulator@42
|
15 Si le module est btusb, vous avez besoin de la commande "hcitool dev" pour trouver l'adresse du périphérique local:
|
slaxemulator@42
|
16 root@slitaz:/home/tux# hcitool dev
|
slaxemulator@42
|
17 Devices:
|
slaxemulator@42
|
18 hci0 00:02:72:xx:xx:xx
|
slaxemulator@42
|
19 Si la commande "hcitool dev" n'affiche pas de périphérique hci*, vous devez trouver de quel module vous avez besoin et répéter l'étape précédente jusqu'à ce que vous trouviez un périphérique hci*.
|
slaxemulator@42
|
20
|
slaxemulator@42
|
21 Maintenant que vous avez des hci*, vous pouvez lancer la commande "hcitool scan" pour lancer la recherche de périphériques à proximité.
|
slaxemulator@42
|
22 Donc, si vous êtes à la recherche, par exemple, de votre téléphone, n'oubliez pas de le mettre en mode découverte :
|
slaxemulator@42
|
23 root@slitaz:/home/tux# hcitool scan
|
slaxemulator@42
|
24 Scanning ...
|
slaxemulator@42
|
25 00:18:C5:xx:xx:xx Nokia 6151
|
slaxemulator@42
|
26 root@slitaz:/home/tux#
|
slaxemulator@42
|
27 Maintenant, vous pouvez apparier votre système local avec votre appareil distant. Pour le faire, utiliser bluez-simple-agent.
|
slaxemulator@42
|
28 Si vous voulez commencer l'appairage à partir de l'appareil distant vous avez besoin de mettre votre appareil local en mode découverte :
|
slaxemulator@42
|
29 # hciconfig hci0 piscan
|
slaxemulator@42
|
30
|
slaxemulator@42
|
31 Maintenant, lancez bluez-simple-agent, recommencez l'appairage depuis l'appareil distant et attendez que bluez-simple-agent vous demande le code PIN nécessaire pour la liaison.
|
slaxemulator@42
|
32 Ce code sera le même que celui que vous avez tapé sur le téléphone. Lorsque vous aurez terminé, vous pouvez terminer bluez-simple-agent avec Ctrl-c:
|
slaxemulator@42
|
33 root@slitaz:/home/tux# hciconfig hci0 piscan
|
slaxemulator@42
|
34 root@slitaz:/home/tux# bluez-simple-agent
|
slaxemulator@42
|
35 Agent registered
|
slaxemulator@42
|
36 RequestPinCode (/org/bluez/2944/hci0/dev_00_18_C5_xx_xx_xx)
|
slaxemulator@42
|
37 Enter PIN Code: 1234
|
slaxemulator@42
|
38 ^CTraceback (most recent call last):
|
slaxemulator@42
|
39 File "/usr/bin/bluez-simple-agent", line 113, in <module>
|
slaxemulator@42
|
40 mainloop.run()
|
slaxemulator@42
|
41 KeyboardInterrupt
|
slaxemulator@42
|
42 root@slitaz:/home/tux#
|
slaxemulator@42
|
43 Enlevez le mode découverte de votre système local :
|
slaxemulator@42
|
44 # hciconfig hci0 pscan
|
slaxemulator@42
|
45
|
slaxemulator@42
|
46 Si vous voulez commencer l'appairage à partir de votre périphérique local, vous pouvez le faire en utilisant bluez-simple-agent avec le hci* de votre périphérique local et l'adresse de l'appareil que vous avez découvert avec "hcitool scan". Dans ce cas, vous choisirez le code PIN dans bluez-simple-agent et taperez le même code PIN sur le périphérique distant :
|
slaxemulator@42
|
47 root@slitaz:/home/tux# bluez-simple-agent hci0 00:18:C5:xx:xx:xx
|
slaxemulator@42
|
48 RequestPinCode (/org/bluez/3078/hci0/dev_00_18_C5_xx_xx_xx)
|
slaxemulator@42
|
49 Enter PIN Code: 1234
|
slaxemulator@42
|
50 Release
|
slaxemulator@42
|
51 New device (/org/bluez/3078/hci0/dev_00_18_C5_xx_xx_xx)
|
slaxemulator@42
|
52 root@slitaz:/home/tux#
|
slaxemulator@42
|
53 Il est nécessaire d'être rapide, parce que je ne sais pas comment configurer le délai d'attente de bluez-simple-agent (des suggestions ?)
|
slaxemulator@42
|
54
|
slaxemulator@42
|
55 ===== Utiliser un téléphone comme modem =====
|
slaxemulator@42
|
56
|
slaxemulator@42
|
57 Maintenant que vous avez vos deux appareils liés, je vais continuer avec le téléphone comme modem en exemple, je n'ai pas d'autre expérience avec des appareils Bluetooth.
|
slaxemulator@42
|
58 Pour utiliser votre téléphone comme modem, vous avez besoin du module rfcomm. Au moment où j'écris ce guide, le module rfcomm de SliTaz est compilé sans support tty. Vous pouvez vérifier si c'est le cas avec les commandes suivantes:
|
slaxemulator@42
|
59 root@slitaz:/home/tux# zcat /proc/config.gz | grep RFCOMM
|
slaxemulator@42
|
60 CONFIG_BT_RFCOMM=m
|
slaxemulator@42
|
61 # CONFIG_BT_RFCOMM_TTY is not set
|
slaxemulator@42
|
62 root@slitaz:/home/tux#
|
slaxemulator@42
|
63 Si CONFIG_BT_RFCOMM_TTY est différent de CONFIG_BT_RFCOMM_TTY = y, Vous devez recompiler le module avec le support tty: Installer linux-source :
|
slaxemulator@42
|
64 # tazpkg get-install linux-source
|
slaxemulator@42
|
65 cd dans /usr/src/linux-`uname -r`/ et taper cette commande :
|
slaxemulator@42
|
66 # make CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y M=net/bluetooth/rfcomm
|
slaxemulator@42
|
67 Ceci construira seulement le module rfcomm avec le support tty. Vous le trouverez dans /usr/src/linux-`uname -r`/net/bluetooth/rfcomm/rfcomm.ko.
|
slaxemulator@42
|
68 Maintenant vous pouvez supprimer l'ancien module rfcomm et le remplacer par votre nouveau module :
|
slaxemulator@42
|
69 # rm /lib/modules/`uname -r`/kernel/net/bluetooth/rfcomm/rfcomm.ko.gz
|
slaxemulator@42
|
70 # cp /usr/src/linux-`uname -r`/net/bluetooth/rfcomm/rfcomm.ko /lib/modules/`uname -r`/kernel/net/bluetooth/rfcomm/
|
slaxemulator@42
|
71 # depmod -a
|
slaxemulator@42
|
72 Maintenant que nous avons un module rfcomm qui fonctionne, nous devons détecter le canal par lequel le service du modem du téléphone est à l'écoute:
|
slaxemulator@42
|
73 # sdptool browse 00:18:C5:xx:xx:xx
|
slaxemulator@42
|
74 Où 00:18: C5: xx: xx: xx est l'adresse de votre téléphone, il vous donnera une liste des services disponibles sur votre téléphone. Celui que vous cherchez est accès réseau à distance ou DUN (Dial-up networking) :
|
slaxemulator@42
|
75 Service Name: Dial-up networking
|
slaxemulator@42
|
76 Service RecHandle: 0x10000
|
slaxemulator@42
|
77 Service Class ID List:
|
slaxemulator@42
|
78 "Dialup Networking" (0x1103)
|
slaxemulator@42
|
79 "Generic Networking" (0x1201)
|
slaxemulator@42
|
80 Protocol Descriptor List:
|
slaxemulator@42
|
81 "L2CAP" (0x0100)
|
slaxemulator@42
|
82 "RFCOMM" (0x0003)
|
slaxemulator@42
|
83 Channel: 1
|
slaxemulator@42
|
84 Language Base Attr List:
|
slaxemulator@42
|
85 code_ISO639: 0x656e
|
slaxemulator@42
|
86 encoding: 0x6a
|
slaxemulator@42
|
87 base_offset: 0x100
|
slaxemulator@42
|
88 Profile Descriptor List:
|
slaxemulator@42
|
89 "Dialup Networking" (0x1103)
|
slaxemulator@42
|
90 Version: 0x0100
|
slaxemulator@42
|
91
|
slaxemulator@42
|
92 ===== rfcomm.conf =====
|
slaxemulator@42
|
93
|
slaxemulator@42
|
94 Comme on peut le voir, il écoute sur le canal 1 (Channel: 1), donc ///etc/bluetooth/rfcomm.conf// est à modifier de cette façon :
|
slaxemulator@42
|
95 <file>
|
slaxemulator@42
|
96 #
|
slaxemulator@42
|
97 # RFCOMM configuration file.
|
slaxemulator@42
|
98 #
|
slaxemulator@42
|
99 rfcomm0 {
|
slaxemulator@42
|
100 # # Automatically bind the device at startup
|
slaxemulator@42
|
101 bind yes;
|
slaxemulator@42
|
102 #
|
slaxemulator@42
|
103 # # Bluetooth address of the device
|
slaxemulator@42
|
104 device 00:18:C5:xx:xx:xx;
|
slaxemulator@42
|
105 #
|
slaxemulator@42
|
106 # # RFCOMM channel for the connection
|
slaxemulator@42
|
107 channel 1;
|
slaxemulator@42
|
108 #
|
slaxemulator@42
|
109 # # Description of the connection
|
slaxemulator@42
|
110 # comment "Example Bluetooth device";
|
slaxemulator@42
|
111 }
|
slaxemulator@42
|
112 </file>
|
slaxemulator@42
|
113 Maintenant, avec :
|
slaxemulator@42
|
114 # modprobe rfcomm
|
slaxemulator@42
|
115 # rfcomm bind all
|
slaxemulator@42
|
116 Vous pouvez utiliser / dev/rfcomm0 comme modem dans un script wvdial.
|
slaxemulator@42
|
117 Vous pouvez également consulter ce guide http://doc.slitaz.org/fr:guides:dialup |