在ubuntu下实现黑莓手机上网

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
jaysor
帖子: 8
注册时间: 2008-11-29 15:34

在ubuntu下实现黑莓手机上网

#1

帖子 jaysor » 2008-12-12 18:19

想用黑苺手机上网已经不是一天两天的念头了,可一直找不到比较明确的方法,以前也找到过一点资料,不过都是关于在linux下同步手机上的同容的。真正实现上网功能的倒比较少,不过上次不小心搜到论坛上niufox兄的帖子,看了几篇相关文章,现在大致能实现上网功能了。参考资料:http://www.blackberryforums.com/linux-u ... nux-2.html
http://www.blackberryforums.com/linux-u ... ccess.html
具体步骤如下:
1.安装一些编译的工具
sudo apt-get install libc6-dev g++ gcc make build-essential
2.安装一些相关依赖和函数
sudo apt-get install libtool autoconf automake cvs libglib2.0-dev libxml2-dev libssl-dev libopensync0-dev libxt-dev x11proto-print-dev libxmu-dev libxft-dev libfreetype6-dev libXp-dev flex byacc libgd2-xpm-dev(各位哥们copy的时候别断句了,免得到时候编译下面的软件的时候缺东西)
3.这个部分我是没有用到的,但如果下面编译有问题的话,可以试一下
cd /usr/include/
sudo mv freetype freetype-back
sudo mv freetype2/freetype/ .

4,这个是要在编译 Xmblackberry的时候要用到的,命令没成功也没关系,把openmotif和xlt弄好了再试试
sudo ln -s /usr/X11R6/lib/libXm.so.4 /usr/X11R6/lib/libXm.so.3

好了,上面只是一些准备工作,下面才是重点了
5.安装openmotif ,这个是安装Xmblackberry的前提(当然,如果哪位牛人不用这个也能正常运行xmblackberry的话不装也没关系)
cd ~
wget ftp://ftp.ics.com/openmotif/2.3/2.3.0/o ... 3.0.tar.gz
tar xzvf openmotif-2.3.0.tar.gz
cd openmotif-2.3.0/
./configure
make
sudo make install

(各位,这里有点提醒一下,上面下载的是2.3.0版本的openmotif,但在我这机器上编译虽然成功了,但在接下来装xlt的时候出现了如下错误
LiteClue_test.c:56:21: error: X11/xpm.h: No such file or directory
make[2]: *** [LiteClue_test.o] Error 1
make[2]: Leaving directory `/home/matt/Xlt/tests/LiteClue'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/matt/Xlt/tests'
make: *** [install-recursive] Error 1
小弟我学ubuntu没多久,所以没有好的解决方案,只好下了个最新版的openmotif 2.3.1,解决了这个问题。所以各位如果下面编译的时候出错的话,可以试试这个方法。

6,接下来的就是libxlt
cd ~
cvs -d :pserver:anonymous@xlt.cvs.sourceforge.net:/cvsroot/xlt co Xlt
cd Xlt
./CVSMake
./configure --prefix=/usr
make
sudo make install

7.安装xmblackberry
下载相关文件
cd ~
cvs -d:pserver:anonymous@xmblackberry.cvs.sourceforge.net:/cvsroot/xmblackberry co XmBlackBerry
cd XmBlackBerry/
cvs -d :pserver:anonymous@libusb.cvs.sourceforge.net:/cvsroot/libusb co libusb

编译安装
./CVSMake
./configure --enable-maintainer-mode --disable-shared
make
sudo make install

安装libusb,这个在barry中可能用到
cd libusb
sudo make install

安装opensync
cd ..
cd opensync
make
sudo make install

opensync是xmblackberry的一部分,主要好像是解决同步的东东。但我没编译通过,错误如下,希望哪位哥们能帮我解决下,不胜感激。
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/opensync-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -g -O2 -MT rim_contact.lo -MD -MP -MF ".deps/rim_contact.Tpo" -c -o rim_contact.lo rim_contact.c; \
then mv -f ".deps/rim_contact.Tpo" ".deps/rim_contact.Plo"; else rm -f ".deps/rim_contact.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/opensync-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -g -O2 -MT rim_contact.lo -MD -MP -MF .deps/rim_contact.Tpo -c rim_contact.c -fPIC -DPIC -o .libs/rim_contact.o
rim_contact.c:26:35: error: opensync/opensync-xml.h: No such file or directory
rim_contact.c: In function 'conv_rim_to_xml':
rim_contact.c:88: warning: implicit declaration of function 'osxml_node_add_root'
rim_contact.c:88: warning: assignment makes pointer from integer without a cast
rim_contact.c:109: warning: implicit declaration of function 'osxml_node_add'
rim_contact.c:109: warning: assignment makes pointer from integer without a cast
rim_contact.c:113: warning: assignment makes pointer from integer without a cast
rim_contact.c:304: warning: implicit declaration of function 'osxml_write_to_string'
rim_contact.c:305: warning: implicit declaration of function 'strlen'
rim_contact.c:305: warning: incompatible implicit declaration of built-in function 'strlen'
rim_contact.c: In function 'conv_xml_to_rim':
rim_contact.c:353: warning: implicit declaration of function 'osxml_get_node'
rim_contact.c:353: warning: assignment makes pointer from integer without a cast
rim_contact.c:360: warning: implicit declaration of function 'osxml_find_node'
rim_contact.c:360: warning: assignment makes pointer from integer without a cast
rim_contact.c:361: warning: assignment makes pointer from integer without a cast
rim_contact.c:362: warning: assignment makes pointer from integer without a cast
rim_contact.c:372: warning: assignment makes pointer from integer without a cast
rim_contact.c:377: warning: assignment makes pointer from integer without a cast
rim_contact.c:383: warning: assignment makes pointer from integer without a cast
rim_contact.c:388: warning: assignment makes pointer from integer without a cast
rim_contact.c:395: error: 'xmlXPathObject' undeclared (first use in this function)
rim_contact.c:395: error: (Each undeclared identifier is reported only once
rim_contact.c:395: error: for each function it appears in.)
rim_contact.c:395: error: 'xobj' undeclared (first use in this function)
rim_contact.c:395: warning: implicit declaration of function 'osxml_get_nodeset'
rim_contact.c:396: error: 'xmlNodeSet' undeclared (first use in this function)
rim_contact.c:396: error: 'nodes' undeclared (first use in this function)
rim_contact.c:410: warning: implicit declaration of function 'xmlXPathFreeObject'
rim_contact.c:427: warning: implicit declaration of function 'strcasecmp'
rim_contact.c:504: warning: assignment makes pointer from integer without a cast
rim_contact.c:509: warning: implicit declaration of function 'strdup'
rim_contact.c:509: warning: incompatible implicit declaration of built-in function 'strdup'
rim_contact.c:514: warning: incompatible implicit declaration of built-in function 'strlen'
rim_contact.c:526: warning: assignment makes pointer from integer without a cast
rim_contact.c:531: warning: assignment makes pointer from integer without a cast
rim_contact.c:537: warning: assignment makes pointer from integer without a cast
rim_contact.c:542: warning: assignment makes pointer from integer without a cast
rim_contact.c:548: warning: assignment makes pointer from integer without a cast
rim_contact.c:553: warning: assignment makes pointer from integer without a cast
make[2]: *** [rim_contact.lo] 错误 1
make[2]:正在离开目录 `/home/jaysor/桌面/xmblackberry-0.3.0/opensync/src'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/jaysor/桌面/xmblackberry-0.3.0/opensync'
make: *** [all] 错误 2

虽然上面这个没成功,但没影响我运行Xmblackberry

8.接下来是安装barry,我看的贴子上虽然有通过链接直接安装的命令,但那是较旧的东西了,我想大家也可能想用较新点的吧,下面这个链接可以下载较新的版本,这个有直接的deb包。
http://sourceforge.net/projects/barry/
主要要下的东西是这几个,libbarry0 barry-uit barrybackup-gui libopensync-plugin-barry,按顺序安装,当然你不按顺序安装也行,不过应该会提示出错,缺少库文件。
9。连上机器,以下几个命令可以看状态
sudo bcharge -o
我的BB是7290的,显示的是如下信息
Found device #063...already at 500mA...no Pearl adjustment...no change
对了,还有个问题,可能连接上BB后,BB屏幕上显示什么“usb充电电流不足,请确定手持设备是否已连接到带电的usb接口并已正确安装usb驱动程序“,当然你上面显示的是英文提示也行,但只要上面命令bcharge显示的是500ma就没什么问题,但如果是100ma,那乐子可就大了,说明你的BB还没连上。
sudo btool
这个会显示BB的一些基本情况,比好我的BB就会显示
Device ID: 0x8f44b00. PIN: 2501db03, Description: RIM 7200 Series Colour GPRS Handheld
Using device (PIN): 2501db03
当然,会有一部分手机要连着运行两次
sudo bcharge
sudo bcharge -o

才能在btool下看到信息,连上xmblackberry后运行btool的话可能就不会显示上面的信息了。而且如果你确信你的BB已经连上了,就不用输入bcharge 和btool这两条命令了。

好了,现在所有的工作都基本上做完了,现在开是配置相关文件就可以用BB上网了
首先运行
sudo /usr/local/bin/Xmblackberry
这里的Xmblackberry可能会存在大小写的问题导致不能启动,所以输入sudo /usr/local/bin/Xm 后用tab键补齐吧。
然后你会看到终端显示
serdata.c:initialize(237) - pty name. "/dev/pts/2" 这样的东西,
点击Xmblackberry界面上的options应该会出现如下信息
XmBlackBerry.c:OptionPopupCallback(998) - GPRS modem device /dev/pts/2
这样就表示电脑识别了你BB的modem,说明你的BB可用(当然上面的 /dev/pts/* 不一定是2,各人的不一定相同,也可能会是/dev/pts/1或其他的,这没影响)

下面配置两个文件
sudo gedit /etc/ppp/peers/blackbarry
输入如下信息
debug debug debug
nodetach
/dev/pts/0
(注意了,这里的信息填写你上面打开Xmblackberry时的信息,不然连不上的)
115200
connect "/usr/sbin/chat -f /etc/chatscripts/blackberry"
nomultilink
defaultroute
noipdefault
ipcp-restart 7
ipcp-accept-local
ipcp-accept-remote
lcp-echo-interval 0
lcp-echo-failure 999
modem
noauth
nocrtscts
noipdefault
novj
usepeerdns
user ""
(我用的是移动的卡,所以这里为空,但听说联通的卡要在帐号和密码上输入card)
password ""
保存好就OK了

另一个文件是
sudo gedit /etc/chatscripts/blackberry
输入以下信息,注意,ABORT BUSY那个要用一行输入
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR
SAY "Initializing\n"
'' ATZ
SAY "ATE\n"
OK 'AT+CGDCONT=1,"IP","cmnet"'
我这个是移动的卡,所以用的cmnet,但可能你用的卡的apn是cmwap或其他,这些东西你自己应该清楚,把cmnet改为你自己卡的apn就行
OK 'AT'
OK 'ATDT*99#'
拨号这里,联通的用的不同,我不太清楚,用联通的哥们自己上网搜一下就知道了
SAY "Dialing\n"

保存好,OK,大功告成。

运行sudo pppd call blackberry
如果出现类似如下信息就表示成功连上了 (对了,运行些命令时要保证xmblackberry正常运行着)
Initializing
Dialing
Serial connection established.
using channel 12
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
rcvd [LCP ConfReq id=0x0 <auth pap>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xab94c618> <pcomp> <accomp>]
sent [LCP ConfAck id=0x0 <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xab94c618> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0xab94c618]
sent [PAP AuthReq id=0x1 user="jaysor-laptop" password=<hidden>]
rcvd [LCP EchoRep id=0x1 magic=0xab94c618]
appear to have received our own echo-reply!
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0 <addr 10.165.211.194>]
sent [IPCP ConfAck id=0x0 <addr 10.165.211.194>]
rcvd [LCP ProtRej id=0x1 80 fd 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <addr 10.165.211.194> <ms-dns1 211.137.64.163> <ms-dns2 211.137.64.163>]
sent [IPCP ConfReq id=0x2 <addr 10.165.211.194> <ms-dns1 211.137.64.163> <ms-dns2 211.137.64.163>]
rcvd [IPCP ConfAck id=0x2 <addr 10.165.211.194> <ms-dns1 211.137.64.163> <ms-dns2 211.137.64.163>]
Cannot determine ethernet address for proxy ARP
local IP address 10.165.211.194
remote IP address 10.165.211.194
primary DNS address 211.137.64.163
secondary DNS address 211.137.64.163
Script /etc/ppp/ip-up started (pid 7892)
Script /etc/ppp/ip-up finished (pid 7892), status = 0x0
不知道是怎么回事,我这里不能用firefox上网页,但用galeon web浏览器却可以。
嗯,貌似就这么多了,先就写到这了,有什么问题大家再一起讨论吧。
lawindlee
帖子: 42
注册时间: 2008-11-24 21:44

Re: 在ubuntu下实现黑莓手机上网

#2

帖子 lawindlee » 2008-12-12 19:08

有点复杂,暂时还没有用黑莓,不过顶下。
minoru_harvest
帖子: 83
注册时间: 2008-07-11 11:47

Re: 在ubuntu下实现黑莓手机上网

#3

帖子 minoru_harvest » 2009-06-23 0:42

顶上去,可能关注这个的人不多,但真的非常有用阿!!
olive2008
帖子: 5
注册时间: 2008-07-01 10:32

Re: 在ubuntu下实现黑莓手机上网

#4

帖子 olive2008 » 2009-06-25 10:41

我正在用黑莓8700
头像
danielqiang
帖子: 22
注册时间: 2009-04-26 18:55

Re: 在ubuntu下实现黑莓手机上网

#5

帖子 danielqiang » 2009-06-26 23:41

看完此帖,我终于相信没有什么是不可能的啦

人要不耻下问。。。
yiyu89103
帖子: 9
注册时间: 2009-07-08 16:57

Re: 在ubuntu下实现黑莓手机上网

#6

帖子 yiyu89103 » 2010-07-06 13:03

太帅了 黑莓 挺
一分为二看本质
帖子: 7
注册时间: 2010-07-08 17:22

Re: 在ubuntu下实现黑莓手机上网

#7

帖子 一分为二看本质 » 2010-07-08 22:06

我手机坏了,才用二个月不到,怎么解决,
头像
perfect_yin
帖子: 6
注册时间: 2010-05-23 16:51

Re: 在ubuntu下实现黑莓手机上网

#8

帖子 perfect_yin » 2010-07-19 14:51

:em11
头像
perfect_yin
帖子: 6
注册时间: 2010-05-23 16:51

Re: 在ubuntu下实现黑莓手机上网

#9

帖子 perfect_yin » 2010-07-19 14:53

:em11
头像
xoaiwg
帖子: 203
注册时间: 2010-03-26 19:46
来自: 达州

Re: 在ubuntu下实现黑莓手机上网

#10

帖子 xoaiwg » 2010-08-27 19:20

用8700 7290 的顶。

话说,用黑莓的人还真不少呢。
+++++++++ ++++++
回复