BlackBerry mode modem

Introduction

Lorsque j’ai rédigé mon précédent articule sur l’utilisation de mon BlackBerry Storm. J’ai proposé
une configuration de Barry pour utiliser son BlackBerry en tant que modem 3G.

Malheureusement cette configuration ne fonctionne plus ! Voici donc un article sur la configuration
que j’utilise avec mon BlackBerry Torch.

Configuration de PPP

Il faut ajouter un fichier de configuration pour définir un nouveau service. Lire les commentaires dans
le fichier pour activer ou non les traces.

[root@Dahlia root]$ cat /etc/ppp/peers/barry
#
# SFR Peer configuration
#

connect "/usr/sbin/chat -f /etc/chatscripts/sfrstart"
disconnect "/usr/sbin/chat -f /etc/chatscripts/sfrstop"

# Barry using (uncomment / comment the line to enable/disable the logs)
pty "/usr/local/sbin/pppob -v -l /tmp/barry.log"
#pty "/usr/local/sbin/pppob"

user ""
password ""

nodetach
defaultroute
noipdefault
noauth
usepeerdns

noaccomp
noccp
nobsdcomp
nodeflate
nopcomp

maxfail 5
lcp-echo-interval 5
lcp-echo-failure 12
holdoff 3
ipcp-restart 7
ipcp-accept-local
ipcp-accept-remote
mtu 1492

# Comment/Uncomment the line to enable/disable the logs
debug

Configuration du modem

Il faut envoyer certaines commandes pour configurer le BlackBerry en mode modem :

[root@Dahlia root]$ cat /etc/chatscripts/sfrstart
#
# Some of these options found documented at:
#    http://wiki.colar.net/tethering_with_blackberry_pearl_on_linux
#
# SFR Peer configuration
#
ABORT ERROR

'' AT&F
OK ATZ
OK ATI
OK AT+CNUM
OK AT+CSQ

# Some Blackberries reboot on this command
#OK AT+CREG?
#OK AT+CGDCONT?
#OK AT+CGQREQ?
#OK AT+CGQMIN?
#OK AT+CGATT?
#OK AT+CGREG?

# Choose the good configuration
#OK AT+CGDCONT=1,"IP","wapsfr"
#OK AT+CGDCONT=3,"IP","blackberry"
OK 'AT+CGDCONT=4,"IP","websfr"'
OK ATDT*99#

CONNECT

Puis :

[root@Dahlia root]$ cat /etc/chatscripts/sfrstop
"" "\K"
"" "+++ATH0"

Utilisation

Pour utiliser votre nouvelle connexion, il suffit de lancer :

[root@Dahlia root]$ pon barry
usb_set_debug: Setting debugging level to 9 (on)
usb_os_init: Found USB VFS at /dev/bus/usb
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 019 on 002
usb_os_find_devices: Found 003 on 002
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Ioctl() inappropré pour un périphérique
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_devices: Found 003 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 019 on 002
usb_os_find_devices: Found 003 on 002
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Ioctl() inappropré pour un périphérique
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_devices: Found 003 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 019 on 002
usb_os_find_devices: Found 003 on 002
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Ioctl() inappropré pour un périphérique
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_devices: Found 003 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 019 on 002
usb_os_find_devices: Found 003 on 002
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Ioctl() inappropré pour un périphérique
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_devices: Found 003 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_busses: Found 002
usb_os_find_busses: Found 001
usb_os_find_devices: Found 019 on 002
usb_os_find_devices: Found 003 on 002
skipped 1 class/vendor specific interface descriptors
skipped 1 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 002
usb_os_find_devices: Found 001 on 002
error obtaining child information: Ioctl() inappropré pour un périphérique
error obtaining child information: Ioctl() inappropré pour un périphérique
usb_os_find_devices: Found 003 on 001
skipping descriptor 0xB
skipped 1 class/vendor specific endpoint descriptors
skipped 5 class/vendor specific interface descriptors
skipping descriptor 0x25
skipped 1 class/vendor specific endpoint descriptors
skipped 6 class/vendor specific interface descriptors
usb_os_find_devices: Found 002 on 001
usb_os_find_devices: Found 001 on 001
error obtaining child information: Ioctl() inappropré pour un périphérique
Script /usr/sbin/chat -f /etc/chatscripts/sfrstart finished (pid 27573), status = 0x0
Serial connection established.
using channel 25
Using interface ppp0
Connect: ppp0 <--> /dev/pts/6
sent [LCP ConfReq id=0x1  ]
rcvd [LCP ConfReq id=0x0  ]
sent [LCP ConfAck id=0x0  ]
rcvd [LCP ConfRej id=0x1 ]
sent [LCP ConfReq id=0x2 ]
rcvd [LCP ConfAck id=0x2 ]
sent [LCP EchoReq id=0x0 magic=0x0]
sent [PAP AuthReq id=0x1 user="" password=]
rcvd [LCP EchoRep id=0x0 magic=0x0]
rcvd [PAP AuthAck id=0x1]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1    ]
rcvd [IPCP ConfReq id=0x1 ]
sent [IPCP ConfAck id=0x1 ]
rcvd [IPCP ConfNak id=0x1   ]
sent [IPCP ConfReq id=0x2    ]
rcvd [IPCP ConfNak id=0x2   ]
sent [IPCP ConfReq id=0x3    ]
rcvd [IPCP ConfNak id=0x3   ]
sent [IPCP ConfReq id=0x4    ]
rcvd [IPCP ConfNak id=0x4   ]
sent [IPCP ConfReq id=0x5    ]
rcvd [IPCP ConfNak id=0x5   ]
sent [IPCP ConfReq id=0x6    ]
rcvd [IPCP ConfNak id=0x6   ]
sent [IPCP ConfReq id=0x7    ]
rcvd [IPCP ConfNak id=0x7   ]
sent [IPCP ConfReq id=0x8    ]
rcvd [IPCP ConfNak id=0x8   ]
sent [IPCP ConfReq id=0x9    ]
rcvd [IPCP ConfNak id=0x9   ]
sent [IPCP ConfReq id=0xa    ]
rcvd [IPCP ConfNak id=0xa   ]
sent [IPCP ConfReq id=0xb    ]
rcvd [IPCP ConfNak id=0xb   ]
sent [IPCP ConfReq id=0xc    ]
rcvd [IPCP ConfNak id=0xc   ]
sent [IPCP ConfReq id=0xd    ]
rcvd [IPCP ConfNak id=0xd   ]
sent [IPCP ConfReq id=0xe    ]
rcvd [IPCP ConfNak id=0xe   ]
sent [IPCP ConfReq id=0xf    ]
rcvd [IPCP ConfNak id=0xf   ]
sent [IPCP ConfReq id=0x10    ]
rcvd [IPCP ConfNak id=0x10   ]
sent [IPCP ConfReq id=0x11    ]
rcvd [IPCP ConfNak id=0x11   ]
sent [IPCP ConfReq id=0x12    ]
rcvd [IPCP ConfNak id=0x12   ]
sent [IPCP ConfReq id=0x13    ]
rcvd [IPCP ConfNak id=0x13   ]
sent [IPCP ConfReq id=0x14    ]
rcvd [IPCP ConfNak id=0x14   ]
sent [IPCP ConfReq id=0x15    ]
rcvd [IPCP ConfNak id=0x15   ]
sent [IPCP ConfReq id=0x16    ]
rcvd [IPCP ConfNak id=0x16   ]
sent [IPCP ConfReq id=0x17    ]
rcvd [IPCP ConfNak id=0x17   ]
sent [IPCP ConfReq id=0x18    ]
rcvd [IPCP ConfNak id=0x18   ]
sent [IPCP ConfReq id=0x19    ]
rcvd [IPCP ConfNak id=0x19   ]
sent [IPCP ConfReq id=0x1a    ]
rcvd [IPCP ConfNak id=0x1a   ]
sent [IPCP ConfReq id=0x1b    ]
rcvd [IPCP ConfNak id=0x1b   ]
sent [IPCP ConfReq id=0x1c    ]
rcvd [IPCP ConfNak id=0x1c   ]
sent [IPCP ConfReq id=0x1d    ]
rcvd [IPCP ConfNak id=0x1d   ]
sent [IPCP ConfReq id=0x1e    ]
rcvd [IPCP ConfNak id=0x1e   ]
sent [IPCP ConfReq id=0x1f    ]
rcvd [IPCP ConfNak id=0x1f   ]
sent [IPCP ConfReq id=0x20    ]
rcvd [IPCP ConfNak id=0x20   ]
sent [IPCP ConfReq id=0x21    ]
rcvd [IPCP ConfNak id=0x21   ]
sent [IPCP ConfReq id=0x22    ]
rcvd [IPCP ConfNak id=0x22   ]
sent [IPCP ConfReq id=0x23    ]
rcvd [IPCP ConfNak id=0x23   ]
sent [IPCP ConfReq id=0x24    ]
rcvd [IPCP ConfNak id=0x24   ]
sent [IPCP ConfReq id=0x25    ]
rcvd [IPCP ConfNak id=0x25   ]
sent [IPCP ConfReq id=0x26    ]
rcvd [IPCP ConfNak id=0x26   ]
sent [IPCP ConfReq id=0x27    ]
rcvd [IPCP ConfNak id=0x27   ]
sent [IPCP ConfReq id=0x28    ]
rcvd [IPCP ConfNak id=0x28   ]
sent [IPCP ConfReq id=0x29    ]
rcvd [IPCP ConfNak id=0x29   ]
sent [IPCP ConfReq id=0x2a    ]
rcvd [IPCP ConfNak id=0x2a   ]
sent [IPCP ConfReq id=0x2b    ]
rcvd [IPCP ConfNak id=0x2b   ]
sent [IPCP ConfReq id=0x2c    ]
rcvd [IPCP ConfNak id=0x2c   ]
sent [IPCP ConfReq id=0x2d    ]
rcvd [IPCP ConfNak id=0x2d   ]
sent [IPCP ConfReq id=0x2e    ]
rcvd [IPCP ConfNak id=0x2e   ]
sent [IPCP ConfReq id=0x2f    ]
rcvd [IPCP ConfNak id=0x2f   ]
sent [IPCP ConfReq id=0x30    ]
rcvd [IPCP ConfNak id=0x30   ]
sent [IPCP ConfReq id=0x31    ]
rcvd [IPCP ConfNak id=0x31   ]
sent [IPCP ConfReq id=0x32    ]
rcvd [IPCP ConfNak id=0x32   ]
sent [IPCP ConfReq id=0x33    ]
rcvd [IPCP ConfNak id=0x33   ]
sent [IPCP ConfReq id=0x34    ]
rcvd [IPCP ConfNak id=0x34   ]
sent [IPCP ConfReq id=0x35    ]
rcvd [IPCP ConfNak id=0x35   ]
sent [IPCP ConfReq id=0x36    ]
rcvd [IPCP ConfNak id=0x36   ]
sent [IPCP ConfReq id=0x37    ]
rcvd [IPCP ConfNak id=0x37   ]
sent [IPCP ConfReq id=0x38    ]
rcvd [IPCP ConfNak id=0x38   ]
sent [IPCP ConfReq id=0x39    ]
rcvd [IPCP ConfNak id=0x39   ]
sent [IPCP ConfReq id=0x3a    ]
rcvd [IPCP ConfNak id=0x3a   ]
sent [IPCP ConfReq id=0x3b    ]
rcvd [IPCP ConfNak id=0x3b   ]
sent [IPCP ConfReq id=0x3c    ]
rcvd [IPCP ConfNak id=0x3c   ]
sent [IPCP ConfReq id=0x3d    ]
rcvd [IPCP ConfNak id=0x3d   ]
sent [IPCP ConfReq id=0x3e    ]
rcvd [IPCP ConfNak id=0x3e   ]
sent [IPCP ConfReq id=0x3f    ]
rcvd [IPCP ConfNak id=0x3f   ]
sent [IPCP ConfReq id=0x40    ]
rcvd [IPCP ConfNak id=0x40   ]
sent [IPCP ConfReq id=0x41    ]
rcvd [IPCP ConfNak id=0x41   ]
sent [IPCP ConfReq id=0x42    ]
rcvd [IPCP ConfNak id=0x42   ]
sent [IPCP ConfReq id=0x43    ]
rcvd [IPCP ConfNak id=0x43   ]
sent [IPCP ConfReq id=0x44    ]
rcvd [IPCP ConfNak id=0x44   ]
sent [IPCP ConfReq id=0x45    ]
rcvd [IPCP ConfNak id=0x45   ]
sent [IPCP ConfReq id=0x46    ]
rcvd [IPCP ConfNak id=0x46   ]
sent [IPCP ConfReq id=0x47    ]
rcvd [IPCP ConfNak id=0x47   ]
sent [IPCP ConfReq id=0x48    ]
rcvd [IPCP ConfNak id=0x48   ]
sent [IPCP ConfReq id=0x49    ]
rcvd [IPCP ConfNak id=0x49   ]
sent [IPCP ConfReq id=0x4a    ]
rcvd [IPCP ConfNak id=0x4a   ]
sent [IPCP ConfReq id=0x4b    ]
rcvd [IPCP ConfNak id=0x4b   ]
sent [IPCP ConfReq id=0x4c    ]
rcvd [IPCP ConfNak id=0x4c   ]
sent [IPCP ConfReq id=0x4d    ]
rcvd [IPCP ConfNak id=0x4d   ]
sent [IPCP ConfReq id=0x4e    ]
rcvd [IPCP ConfNak id=0x4e   ]
sent [IPCP ConfReq id=0x4f    ]
rcvd [IPCP ConfNak id=0x4f   ]
sent [IPCP ConfReq id=0x50    ]
rcvd [IPCP ConfNak id=0x50   ]
sent [IPCP ConfReq id=0x51    ]
rcvd [IPCP ConfNak id=0x51   ]
sent [IPCP ConfReq id=0x52    ]
rcvd [IPCP ConfNak id=0x52   ]
sent [IPCP ConfReq id=0x53    ]
rcvd [IPCP ConfNak id=0x53   ]
sent [IPCP ConfReq id=0x54    ]
rcvd [IPCP ConfNak id=0x54   ]
sent [IPCP ConfReq id=0x55    ]
rcvd [IPCP ConfNak id=0x55   ]
sent [IPCP ConfReq id=0x56    ]
rcvd [IPCP ConfNak id=0x56   ]
sent [IPCP ConfReq id=0x57    ]
rcvd [IPCP ConfNak id=0x57   ]
sent [IPCP ConfReq id=0x58    ]
rcvd [IPCP ConfNak id=0x58   ]
sent [IPCP ConfReq id=0x59    ]
rcvd [IPCP ConfNak id=0x59   ]
sent [IPCP ConfReq id=0x5a    ]
rcvd [IPCP ConfNak id=0x5a   ]
sent [IPCP ConfReq id=0x5b    ]
rcvd [IPCP ConfNak id=0x5b   ]
sent [IPCP ConfReq id=0x5c    ]
rcvd [IPCP ConfNak id=0x5c   ]
sent [IPCP ConfReq id=0x5d    ]
rcvd [IPCP ConfNak id=0x5d   ]
sent [IPCP ConfReq id=0x5e    ]
rcvd [IPCP ConfNak id=0x5e   ]
sent [IPCP ConfReq id=0x5f    ]
rcvd [IPCP ConfNak id=0x5f   ]
sent [IPCP ConfReq id=0x60    ]
rcvd [IPCP ConfNak id=0x60   ]
sent [IPCP ConfReq id=0x61    ]
rcvd [IPCP ConfNak id=0x61   ]
sent [IPCP ConfReq id=0x62    ]
rcvd [IPCP ConfNak id=0x62   ]
sent [IPCP ConfReq id=0x63    ]
rcvd [IPCP ConfNak id=0x63   ]
sent [IPCP ConfReq id=0x64    ]
rcvd [IPCP ConfNak id=0x64   ]
Received bad configure-nak:  02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00
sent [LCP EchoReq id=0x1 magic=0x0]
rcvd [LCP EchoRep id=0x1 magic=0x0]
sent [IPCP ConfReq id=0x64    ]
rcvd [IPCP ConfNak id=0x64   ]
Received bad configure-nak:  02 06 00 2d 0f 01 81 06 00 00 00 00 83 06 00 00 00 00
sent [LCP EchoReq id=0x2 magic=0x0]
rcvd [LCP EchoRep id=0x2 magic=0x0]
sent [IPCP ConfReq id=0x64    ]
rcvd [IPCP ConfRej id=0x64 ]
sent [IPCP ConfReq id=0x65   ]
rcvd [IPCP ConfNak id=0x65   ]
sent [IPCP ConfReq id=0x66   ]
rcvd [IPCP ConfAck id=0x66   ]
local  IP address 10.45.74.120
remote IP address 169.254.1.1
primary   DNS address 172.20.2.39
secondary DNS address 172.20.2.10
Script /etc/ppp/ip-up started (pid 27623)
Script /etc/ppp/ip-up finished (pid 27623), status = 0x0
^Cselect(): Appel système interrompu
Terminating on signal 2
Connect time 0.8 minutes.
Sent 8767 bytes, received 18105 bytes.
Script /etc/ppp/ip-down started (pid 27771)
sent [LCP TermReq id=0x3 "User request"]
Script /etc/ppp/ip-down finished (pid 27771), status = 0x0
sent [LCP TermReq id=0x4 "User request"]
Connection terminated.
Script /usr/sbin/chat -f /etc/chatscripts/sfrstop finished (pid 27818), status = 0x0
Serial link disconnected.
Modem hangup
Waiting for 1 child processes...
  script /usr/local/sbin/pppob -v -l /tmp/barry.log, pid 27572
sending SIGTERM to process 27572

Remarque : pour interrompre le service, il suffit de faire « Ctrl + C ».

Vous pouvez lire les logs générés par les outils Barry dans le fichier « /tmp/barry.log ».

Cette entrée a été publiée dans BlackBerry, Debian, Linux, avec comme mot(s)-clef(s) , , , , . Vous pouvez la mettre en favoris avec ce permalien.

Une réponse à BlackBerry mode modem

  1. Shani Jenkins dit :

    Thanks for providing such information. vnoeihbgt

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>