Tether BlackBerry

Introduction

When I wrote my previous post about the tether BlackBerry Storm. I gave you a barry’s configuration
to use your BlackBerry as 3G modem.

Unfortunatly, my settings are now wrong (with SFR) ! Here a new post about my settings and my BlackBerry Torch.

PPP settings

You have to add a new files to set a new PPP service (peer). Read my comments to enable or not the logs.

[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

Modem settings

You have to send some AT commands to enable the BlackBerry modem mode :

[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

And :

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

Using

To use your new peer, you run :

[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

Note : to interrupt the PPP service, you can press “Ctrl + C”.

You can read the Barry USB logs in “/tmp/barry.log”.

This entry was posted in BlackBerry, Debian, Linux and tagged , , , , . Bookmark the permalink.

One Response to Tether BlackBerry

Leave a Reply

Your email address will not be published. Required fields are marked *