[Fedora-Chinese] linux下的3G卡片的终极解决方案,请参考。
guohui luo
guohui.great在gmail.com
星期一 三月 22 14:19:40 UTC 2010
*Ò»£® **»·¾³*
*Ò»£® »·¾³*
*1. *¿ª·¢°åÄںˣºlinux kernel 2.6.14
*2. *3G¿¨Æ¬£ºHUAWEI E1750
*¶þ£® **Ïà¹Ø¹¤¾ßÓë¿âÎļþÏÂÔØ*
*1. **usb_modeswitch-1.0.6.tar.bz2*(
http://www.draisberghof.de/usb_modeswitch/)
½¨ÒéÏÂÔؽÏа汾£¬Èç¹ûÅÂÂé·³¾ÍÏÂÔØÓëÎÒÒ»ÑùµÄ°æ±¾£¬ÏÂͬ¡£
Usb_modeswitchÊǶÔUSBÉ豸µÄ¹¤×÷ģʽ½øÐÐת»»Ò»ÖÖÍòÄܹ¤¾ß£¬µ±È»ÕâÖÖ±¦±´£¬Ö»ÓÐÔÚlinuxϲÅÄÜÌåÏÖÆä¾Þ´óµÄ×÷Óá£Ëæ×ÅÒƶ¯Í¨ÐÅ£¬ÎÞÏßͨÐŵķ¢Õ¹£¬Ô½À´Ô½¶àµÄÉ豸±»ÖÆ×÷³ÉUSB½Ó¿Ú£¬ÏñһЩÎÞÏßÍø¿¨£¬3GÊý¾Ý¿¨µÈµÈ¡£ÕâЩÉ豸µÄ³§¼ÒÒ»°ã¶¼»áÌṩwindows
ÏÂÇý¶¯£¬ÕâЩÉ豸ÔÚµÚÒ»´Î²åÉÏ»ú×ÓµÄʱºò£¬ËüÃÇ´¦ÓÚCDROM+ÉÁ´æģʽ£¬¿ÉÒÔ´ÓÖÐÌṩÇý¶¯³ÌÐò°²×°Çý¶¯£¬ÔÚÇý¶¯³ÌÐò°²×°Íê³Éºó£¬Çý¶¯»áת»»³É3Gģʽ£¬´Ëʱ¾Í»á³öÏÖusb
modemÉ豸£¬Ä¿Ç°µÄ3G¿¨Æ¬È«¶¼ÊÇÕâÑù£¬Õâ¾ÍÊÇËùνµÄ¡°ZeroCD¡±¡£
¶øÔÚlinuxÏÂÎÒÃÇ¿ÉûÓÐÄÇôºÃµÄ´ýÓö£¬³§¼ÒÒ»°ã²»»á¸øÎÒÃÇÌṩlinuxÏÂÃæµÄÇý¶¯,¶øÄ¿Ç°µÄÄں˻¹²»ÄÜ×Ô¶¯Ê¶±ð²¢Çý¶¯¡£ËùÒÔÎÒÃÇÐèÒªÓÃusb_modeswitchÕâ¸ö¹¤¾ßÀ´½øÐÐģʽת»»£¬É豸ģʽÒÀÀµusb-storageºÍusbserialģʽ£¬ËùÒÔ£¬ÔÚ¿ª·¢°åÉÏÐèÒªÓÐÕâÁ½ÖÖÄ£¿éµÄÖ§³Ö£¬É豸²¢Äܹ»Õý³£¹¤×÷ÓÚÕâÁ½ÖÖģʽÏ¡£
*2**£®**usb_modeswitch-current_data.tar.bz2*(
http://www.draisberghof.de/usb_modeswitch/)
Õâ¸ö°üÀï°üÀ¨Ìṩ¸øUDEVµÄÇý¶¯É豸ÐÅÏ¢£¬ºÍºÜ¶àÉ豸ʹÓÃusb_mdoeswitch½øÐÐת»»Ä£Ê½Ê±ÐèÒªÅäÖõIJÎÊý¡£ÏÂÔØËüÓÃÓڲο¼¡£
*3. **libusb-1.0.6.tar.bz2 *(
http://sourceforge.net/projects/libusb/files/libusb-1.0/)
Libusb²ÅÊÇÎÒÃǵÄÕæÕý¹Ç¸ÉÁ¦Á¿£¬Ìṩ¸øusb_modeswitchÒ»Ì×ϵͳAPI£¬ËùÒÔ£¬×ÔÈ»usb_modeswitchÕâ¸ö°ü¹¤Í·ÒªÏ빤×÷£¬¿Ï¶¨²»ÄÜÀ뿪libusbÕâ¸ö¹¤ÈËΪÆä·þÎñ¡£
*4.libusb-compat-0.1.3.tar.bz2 **(
http://www.linuxfromscratch.org/blfs/view/svn/general/libusb-compat.html**£©*
**
libusb·ÖΪ0.1ºÍ1.0Á½Äê°æ±¾£¬¶ø1.0°æ±¾Óë0.1ÓнϴóµÄ²»Í¬£¬²¢²»ÏòϼæÈÝ£¬±ØÐëÒÀÀµlibusb-compat¡£
*Èý£® **½»²æ±àÒëusb_modeswitch*
*1. **½»²æ±àÒë libusb*
A. ½âѹ²¢½øÈëlibusb-1.0.6Ŀ¼£¬½¨Á¢×ÓĿ¼installÓÃÓÚ´æ·Å×îºóÉú´æµÄ¿âÎļþÓëÍ·Îļþ¡£
[Anson在libusb-1.0.6]# mkdir install
B. ÅäÖò¢Éú³ÉMakefileÎļþ
[Anson在libusb-1.0.6]#./configure --build=i686-linux --host=arm-linux
--prefix=/home/Anson/libusb-1.0.6/install
C. [Anson在libusb-1.0.6]#make
D. [Anson在libusb-1.0.6]# make install
*2. **ÉèÖÃPKG_CONFIG_PATH**»·¾³±äÁ¿£¬ÒÔʹÎÒÃǺóÃæµÄ±àÒëÄܹ»Ë³ÀûÕÒµ½libusb**¿â*
A.ÉèÖû·¾³±äÁ¿
[Anson在libusb-1.0.6]# export
PKG_CONFIG_PATH=/home/Anson/libusb-1.0.6/install/lib/pkgconfig:$PKG_CONFIG_PATH
B.²é¿´ÊÇ·ñÉèÖÃÕýÈ·
[Anson在libusb-1.0.6]#echo $PKG_CONFIG_PATH
*3. **½»²æ±àÒëlib_compat*
ÓëÉÏÃæ±àÒëlibusbµÄ·½·¨ÀàËÆ£º
*A**£®*[Anson在libusb-compat-0.1.3]#.mkdir install**
*B .* [Anson在libusb-compat-0.1.3]#./configure --build=i686-linux
--host=arm-linux --prefix=/home/Anson/libusb-compat-0.1.3/install
*C.* [Anson在libusb-compat-0.1.3]#make
*D. *[Anson在libusb-compat-0.1.3]#make install
**
˵Ã÷£ºÈç¹û´Ëʱ³öÏÖ"-Wno-pointer-sign"¡¢"-fvisibility=hidden"ÕâÀà´íÎó£¬ÔòÊÇÓÉÓÚ±àÒëÆ÷°æ±¾¹ýµÍ²»Ö§³Öµ¼Öµģ¬¿ÉÒÔÖ±½ÓÔÚMakefileºÍlibusb/MakefileÎļþÖÐɾ³ýÕâЩ±àÒëÑ¡Ïî¼´¿É¡£
**
*4. **½»²æ±àÒëusb_modeswitch*
A£®ÐÞ¸ÄMakefileÎļþ
ÐÞ¸ÄSTRIPºÍCCÑ¡ÏîΪ£º
STRIP = arm-xxx-linux-strip
CC = arm-xxx-linux-gcc
B.
¿ÉÒÔ½«ÉÏÃæµÄlibusbºÍlibusb-compatµÄ¿âºÍÍ·Îļþ¿½±´µ½½»²æ±àÒëÆ÷µÄlibºÍincludeĿ¼Ï£¬»òÕßÖ±½Ó¼ÓÉϱàÒëÑ¡ÏîÖ¸Áî¿âµÄ·¾¶¼´¿ÉÈçÏ£º
INCLUDEDIR = /home/anson//libusb-1.0.6/install/include/libusb-1.0
LIBDIR = /home/anson/libusb-1.0.6/install/lib
$(PROG): $(OBJS)
$(CC) $(CCFLAGS) -I $(INCLUDEDIR) -L $(LIBDIR) -o $(PROG) $(OBJS)**
ÕâÀïµÄusb.h¾ÍÊÇlibusb-compatĿ¼Ïµģ¬Èç¹ûûÓÐusb.h,usb_modeswitchÊDZàÒë²»¹ýÈ¥µÄ¡£
*C. make*
**
*5. ±à¼**usb_modeswitch**Ŀ¼ÏµÄusb_modeswitch.conf**Îļþ£¬¼ÓÈëÒÔÏÂÄÚÈÝ£º*
**
DefaultVendor= 0x12d1
DefaultProduct= 0x1446
TargetVendor = 0x12d1
TargetProduct= 0x1001
MessageContent="55534243000000000000000000000011060000000000000000000000000000"
MessageEndpoint=0x01
CheckSuccess=5
HuaweiMode=0 £¨Ìرð×¢ÒâÕâ¸ö²ÎÊý£¬ÎÒÔÚ¿ª·¢°åÉϵÄÂé·³¾Í³öÔÚÕâ¸ö²ÎÊýÉÏÃ棩
**
*6. **½«ÉÏÃæÉú³ÉµÄlibusb**¶¯Ì¬¿â¿½±´µ½¿ª·¢°åµÄ¿âĿ¼Ï£¬½«ÉÏÃæÉú³ÉµÄusb_modeswitch**
¿ÉÖ´ÐгÌÐòºÍusb_modeswitch.conf**ÅäÖÃÎļþÏÂÔص½¿ª·¢°åijĿ¼Ï¡£*
*ËÄ£® **½»²æ±àÒë3G**¿¨Æ¬Çý¶¯*
*1. **±àÒë 3G**Ä£¿éµÄÇý¶¯option.ko*
ÔÚÄÚºËÔ´Âë°üÖÐÕÒµ½usbµÄ3GÇý¶¯Îļþ driver//usb/serial/option.cÔÚÆäÖмÓÈë3G¿¨Æ¬µÄ HUAWEI_VENDOR_ID
0x12D1ºÍHUAWEI_PRODUCT_E1750
0x1446¡£È»ºóÐÞ¸ÄKconfig½«option±àÒë³ÉÄ£¿é¡£½«±àÒëÉú³ÉµÄoption.koÏÂÔص½¿ª·¢°åÖв¢Ê¹ÓÃinsmod¼ÓÔØ¡£
*Î壮 **¼ÓÔØÇý¶¯*
*1. ****¹ÒÔØusb**ÐéÄâÎļþϵͳ£º**mount -t usbfs usbfs /proc/bus/usb/*
*2. **µ¯³ö3G**¿¨Æ¬µÄcdrom: *eject /dev/cdroms/cdrom0
*3. *ÏÖÔھͿÉÒÔʹÓÃusb_modeswitch ¨CW ¨Cc
~/usb_modeswitch.confÇл»3G¿¨Æ¬µÄģʽÁË¡£´Ëʱ»á³öÏÖһЩÐÅÏ¢£¬Äã»á¿´µ½×ª»»³É3GģʽºóµÄ¼¸¸ö´®¿ÚÐÅÏ¢£¬ttyUSB0,
ttyUSB1, ttyUSB2£¬ÈçÏ£º
option 1-1:1.0: Option 3G data card converter detected
usb 1-1: Option 3G data card converter now attached to ttyUSB0
option 1-1:1.1: Option 3G data card converter detected
usb 1-1: Option 3G data card converter now attached to ttyUSB1
option 1-1:1.2: Option 3G data card converter detected
usb 1-1: Option 3G data card converter now attached to ttyUSB2
Èç¹ûûÓÐʹÓÃudev£¬¾Í²»»á×Ô¶¯Éú³ÉÕâЩ½áµã£¬ËùÒÔÐèÒªÊÖ¶¯´´½¨ÕâЩ×Ö·û½Úµã¡£
*mknod* /dev/usb/*ttyUSB0 c 188 0*
*mknod* /dev/usb/ttyUSB1 c 188 1
*mknod* /dev/usb/ttyUSB2 c 188 2
´ËʱÄã¿ÉÒÔÔÚ/dev/usb/ttsÏÂÃæÕÒµ½Éú³ÉÁË3¸ö½Úµã1£¬2£¬3.Èç¹ûÔÚPCÉÏÃæʹÓ÷¢Ðа棬һ°ã¶¼»áʹÓÃudev×ö/devÏÂÃæµÄ½Úµã£¬ÕâÑù×ӾͿÉÒÔÖ±½ÓÔÚ/etc/udev/rules.d/ÏÂÃæÌí¼ÓÏàÓ¦µÄÉ豸ÐÅÏ¢ºÍ´¦Àí¾Í¿ÉÒÔÁË£¬µ«ÊÇÓÉÓÚ¿ª·¢°åÉϲ¢Ã»ÓÐudev£¬Ëü»áÉú̬̫¶àÉ豸½Úµã£¬¶ÔǶÈëʽ¿ª·¢×ÊÔ´ÓнϴóÀË·Ñ£¬ÕâÀ¸ù¾ÝÌáʾÐÅϢ˵Ã÷driverÔÚX1µØÖ·´¦ÕÒµ½ÁËY1É豸£¬ËüÔÚ/devÏÂÃæµÄ½Úµã½ÐZ1£¬ËùÒÔ´ËʱÎÒÃÇÐèÒªÊÖ¶¯´´½¨¡£ÎÒµÄÒâ˼¾ÍÊÇ˵Õâ¸ö½Úµã±¾ÉíÒѾע²áÁËÏàÓ¦µÄioctlÁË£¬Ö»ÊÇÉ豸½ÚµãûÓÐÉú³É¶øÒÔ£¬ËùÒÔÕâʱÊÖ¶¯´´½¨ÊÇÍêȫûÓÐÎÊÌâµÄ¡£
*4. **ʹÓô®¿ÚµÄ²âÊÔ¹¤¾ß·¢ËÍAT**Ö¸Áî²âÊÔ¼¸¸ö´®¿ÚÊÇ·ñ¿ÉÓá£*
*Áù£® **½»²æ±àÒëpppd**²¦ºÅ¹¤¾ß£¬²¢±àд²¦ºÅ½Å±¾*
*1. ****½»²æ±àÒëpppd**²¦ºÅ¹¤¾ß£¨ÕâÀï²»Ïêϸ½²½â£¬¿É²Î¿¼ºóÐøÎÄÕµÄÏêϸ˵Ã÷£©*
*2. **±àд²¦ºÅ½Å±¾,**ÓëGPRS**µÄ²¦ºÅ½Å±¾ÀàËÆ¡£*
*A. **ÁªÍ¨WCDMA-HSDPA:*
*(1)wcdma:*
debug
nodetach
lock
/dev/ttyUSB0
115200
user "card"
password "card"
crtscts
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f chat-wcdma-connect'
disconnect '/usr/sbin/chat -s -v -f chat-wcdma-disconnect'
**
*(2) chat-wcdma-connect:*
TIMEOUT 5
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' \rAT
OK \rATZ
OK \rAT+CGDCONT=1,"IP","3gnet",,0,0
OK-AT-OK ATDT*99#
CONNECT \d\c
*(3)* *chat-wcdma-disconnect*
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
'' "\K"
'' "+++ATH"
SAY "\nGoodbay\n"
**
*B. ****Òƶ¯TD-CDMA*
*(1)td:*
debug
logfile /var/log/pppd.log
lock
/dev/ttyUSB0
115200
user "card"
password "card"
crtscts
connect '/usr/sbin/chat -v -t3 -f td-connect-chat'
disconnect '/usr/sbin/chat -s -v -f td-disconnect-chat'
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
**
*(2)* *td-connect-chat:*
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' \rATZ
OK-AT-OK ATD#777
CONNECT \d\c
**
*(3) td-disconnect-chat:*
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
'' "\K"
'' "+++ATH"
SAY "\nGoodbay\n"**
**
**
*C. **µçÐÅCDMA1x*
*(1) cdma1x:*
debug
nodetach
lock
/dev/ttyUSB0
115200
user "card"
password "card"
crtscts
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f cdma1x-connect-chat'
disconnect '/usr/sbin/chat -s -v -f cdma1x-disconnect-chat'
*(2) cdma1x-connect-chat:*
TIMEOUT 5
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' \rATZ
OK \rAT\^PREFMODE=2
OK-AT-OK ATD#777
CONNECT \d\c
*(3) cdma1x-disconnect-chat:*
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
'' "\K"
'' "+++ATH"
SAY "\nGoodbay\n"
*D. **µçÐÅCDMA2000-EVDO*
*(1) evdo**£º*
debug
nodetach
lock
/dev/ttyUSB0
115200
user "card"
password "card"
crtscts
show-password
usepeerdns
noauth
noipdefault
novj
novjccomp
noccp
defaultroute
ipcp-accept-local
ipcp-accept-remote
connect '/usr/sbin/chat -s -v -f evdo-connect-chat'
disconnect '/usr/sbin/chat -s -v -f evdo-disconnect-chat'
*£¨2**£©evdo-connect-chat**£º*
TIMEOUT 5
ABORT 'NO CARRIER'
ABORT 'ERROR'
ABORT 'NO DIALTONE'
ABORT 'BUSY'
ABORT 'NO ANSWER'
'' \rATZ
OK-AT-OK ATD#777
CONNECT \d\c
*£¨3**£©evdo-disconnect-chat**£º*
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
SAY "\nSending break to the modem\n"
'' "\K"
'' "+++ATH"
SAY "\nGoodbay\n"
*3. **ʹÓÃpppd**²¦ºÅ **£ºpppd file td(wcdma/evdo/cdma1x)*
*4. *
´Ëʱ½«»áʹÓýű¾ÖÐÉèÖõĶ˿ڽøÐв¦ºÅ£¬Èç¹û³É¹¦ºó»á»ñµÃIPµØÖ·£¬µçÐŵÄ3G¿¨Æ¬»ñÈ¡µÄÊÇÍâÍøIPµØÖ·£¬¶øÆäËüÔòÊÇ»ñÈ¡µÄÒ»¸öÄÚÍøIP£¬½«»ñÈ¡µ½µÄDNSÌí¼Óµ½/
*etc*/*resolv*.*conf*
.ÖУ¬²¢Ê¹ÓÃrouteÌí¼ÓÒ»ÌõĬÈÏ·ÓÉ£¬pingÒ»ÏÂÍâÍøµÄµØÖ·£¬Èç¹ûÄܹ»pingͨ£¬Ôò˵Ã÷Íê³ÉÁ˱¾ÆªµÄ¹¤×÷ÁË£¬µçÐÅ£¬Òƶ¯£¬ÁªÍ¨ÓеÄÍøÂç»á½ûping£¬ËùÒÔping²»Í¨£¬ËùÒÔÕâ¹û£¬¾ÍÐèҪʹÓÃ×Ô¼ºµÄ²âÊÔ¹¤¾ß£¬·¢ËÍtcp/udp°ü£¬È·¶¨ÊÇ·ñ³É¹¦Íê³É±¾Æª¹¤×÷¡£
**
*Æߣ® **¿É²Î¿¼ÎÄÕ£º*
*1. **http://blog.chinaunix.net/u3/106318/showart_2110454.html*<http://blog.chinaunix.net/u3/106318/showart_2110454.html>
*2. *http://blog.chinaunix.net/u3/106318/showart_2102540.html
ÔÚ 2010Äê3ÔÂ22ÈÕ ÏÂÎç9:48£¬guohui luo <guohui.great在gmail.com>дµÀ£º
> Dear gai:
> Äã¿ÉÒԲο¼ÎÒÓʼþÖÐÌáµ½µÄÎÄÕ£¬ÊÔһϣ¬Èç¹û²»ÐУ¬¾ÍÔÙÌÖÂÛ£¡3KS
>
> ÔÚ 2010Äê3ÔÂ22ÈÕ ÏÂÎç9:18£¬¸ÇÒæ <gaiyi1984在gmail.com>дµÀ£º
>
> ÎÒÊÔ¹ýtdºÍÒƶ¯µÄ2¿î3G USBÉÏÍø¿¨ µ«ÊǶ¼Ê§°ÜÁË ÓÐͬÊÂÓôø3gÄ£¿éµÄt400ʵÑéҲʧ°ÜÁË
>>
>> ÏÖÔÚÎÒÖ»ÄÜÔÚLinuxÏ¿ªÐéÄâ»ú²ÅÄÜÓÃ3GÉÏÍø¡£¡£¡£ÎÒÊÇ×ö¼à¿ØµÄ ËùÒÔ±ØÐëÒªÓõ½ÕâÆÆÍæÒâ
>>
>> Èç¹ûËÓк÷½·¨ Íû²»ØĴͽÌ
>>
>>
>>
>
关于邮件列表 Chinese 的更多信息