Changeset 12432
- Timestamp:
- 07/03/09 15:59:30 (5 months ago)
- Files:
-
- src/router/libutils/lib3g.c (modified) (16 diffs)
- src/router/libutils/utils.c (modified) (1 diff)
- src/router/services/networking/network.c (modified) (4 diffs)
- src/router/services/networking/ppp.c (modified) (4 diffs)
- src/router/services/sysinit/sysinit-rt2880.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/router/libutils/lib3g.c
r12369 r12432 82 82 mkdir("/tmp/usb"); 83 83 eval("mount", "-t", "usbfs", "usb", "/tmp/usb"); 84 insmod("usbserial");85 84 //insmod("sierra"); //further investigation required (compass problem) 86 insmod("option");87 insmod("ipw");88 insmod("pl2303");89 85 #endif 90 86 … … 110 106 //sierra wireless 111 107 fprintf(stderr, "Sierra Wireless Compass 885 deteted\n"); 108 insmod("usbserial"); 109 insmod("sierra"); 112 110 nvram_set("3gdata", "/dev/usb/tts/4"); 113 111 return "/dev/usb/tts/3"; … … 116 114 //sierra wireless 117 115 fprintf(stderr, "Sierra Wireless Compass 888 deteted\n"); 116 insmod("usbserial"); 117 insmod("sierra"); 118 118 nvram_set("3gdata", "/dev/usb/tts/4"); 119 119 return "/dev/usb/tts/3"; … … 123 123 fprintf(stderr, "Sierra Wireless MC8790\n"); 124 124 nvram_set("3gdata", "/dev/usb/tts/4"); 125 insmod("usbserial"); 126 insmod("sierra"); 125 127 checkreset("/dev/usb/tts/3"); 126 128 return "/dev/usb/tts/3"; … … 130 132 fprintf(stderr, "Sierra Wireless MC8790\n"); 131 133 nvram_set("3gdata", "/dev/usb/tts/4"); 134 insmod("usbserial"); 135 insmod("sierra"); 132 136 checkreset("/dev/usb/tts/3"); 133 137 return "/dev/usb/tts/3"; … … 137 141 fprintf(stderr, "Sierra Wireless MC8790\n"); 138 142 nvram_set("3gdata", "/dev/usb/tts/4"); 143 insmod("usbserial"); 144 insmod("sierra"); 139 145 checkreset("/dev/usb/tts/3"); 140 146 return "/dev/usb/tts/3"; … … 143 149 //huawei 144 150 fprintf(stderr, "HUAWEI/Option E172 detected\n"); 151 insmod("usbserial"); 145 152 insmod("option"); 146 153 return "/dev/usb/tts/0"; … … 149 156 //huawei 150 157 fprintf(stderr, "HUAWEI/Option E301 HSUPA detected\n"); 158 insmod("usbserial"); 151 159 insmod("option"); 152 160 return "/dev/usb/tts/0"; … … 155 163 //huawei 156 164 fprintf(stderr, "HUAWEI/Option E600 detected\n"); 165 insmod("usbserial"); 157 166 insmod("option"); 158 167 return "/dev/usb/tts/0"; … … 161 170 //huawei 162 171 fprintf(stderr, "HUAWEI/Option EC270 detected\n"); 172 insmod("usbserial"); 163 173 insmod("option"); 164 174 return "/dev/usb/tts/0"; … … 167 177 //huawei 168 178 fprintf(stderr, "HUAWEI/Option EC168 detected\n"); 179 insmod("usbserial"); 169 180 insmod("option"); 170 181 return "/dev/usb/tts/0"; … … 173 184 //huawei 174 185 fprintf(stderr, "HUAWEI/Option EC168 detected\n"); 186 insmod("usbserial"); 175 187 insmod("option"); 176 188 return "/dev/usb/tts/0"; … … 181 193 fprintf(stderr, "QUALCOMM ICON 210 detected\n"); 182 194 nvram_set("3gdata", "/dev/usb/tts/2"); 195 insmod("usbserial"); 183 196 insmod("option"); 184 197 return "/dev/usb/tts/2"; … … 198 211 system("usb_modeswitch -c /tmp/usb_modeswitch.conf"); 199 212 sleep(2); 213 insmod("usbserial"); 200 214 insmod("option"); 201 215 nvram_set("3gdata", "/dev/usb/tts/2"); … … 206 220 //huawei 207 221 fprintf(stderr, "QUALCOMM ICON 225 detected\n"); 208 /* FILE *out = fopen("/tmp/usb_modeswitch.conf","wb"); 209 fprintf(out,"DefaultVendor=0x0af0\n"); 210 fprintf(out,"DefaultProduct=0x6971\n"); 211 fprintf(out,"TargetClass=0xff\n"); 212 fprintf(out,"MessageContent=\"55534243785634120100000080000601000000000000000000000000000000\"\n"); 222 system("ozerocdoff -wi 0x6971"); 223 sleep(10); 224 system("insmod hso"); 225 FILE *out=fopen("/tmp/conninfo.ini","wb"); 226 fprintf(out,"APN=%s\n",nvram_safe_get("wan_apn")); 227 fprintf(out,"USER=%s\n",nvram_safe_get("ppp_username")); 228 fprintf(out,"PASS=%s\n",nvram_safe_get("ppp_passwd")); 229 fprintf(out,"PIN=%s\n",nvram_safe_get("wan_pin")); 213 230 fclose(out); 214 system("usb_modeswitch -c /tmp/usb_modeswitch.conf");*/ 215 system("ozerocdoff -wi 0x6971"); 216 sleep(5); 217 system("insmod hso"); 218 nvram_set("3gdata", "/dev/usb/tts/2"); 219 return "/dev/usb/tts/2"; 220 } 221 222 231 nvram_set("3gdata", "hso"); 232 system("/etc/hso/hso_connect.sh restart"); 233 return "hso"; 234 } 223 235 224 236 if (scanFor(0x1199, 0x6832)) { … … 229 241 return "/dev/usb/tts/2"; 230 242 } 243 insmod("usbserial"); 244 insmod("sierra"); 231 245 insmod("option"); 232 246 return ttsdevice; src/router/libutils/utils.c
r12344 r12432 1641 1641 int wan_link = 0; 1642 1642 1643 if ( nvram_match("wan_proto", "pptp")1643 if ((nvram_match("wan_proto", "pptp") 1644 1644 || nvram_match("wan_proto", "l2tp") 1645 1645 || nvram_match("wan_proto", "pppoe") 1646 1646 || nvram_match("wan_proto", "3g") 1647 || nvram_match("wan_proto", "heartbeat")) {1647 || nvram_match("wan_proto", "heartbeat")) && !nvram_match("3gdata","hso")) { 1648 1648 FILE *fp; 1649 1649 char filename[80]; src/router/services/networking/network.c
r12374 r12432 2525 2525 nvram_set("pppd_pppifname", ""); 2526 2526 2527 #ifdef HAVE_3G 2528 nvram_set("3gdata", ""); 2529 #endif 2527 2530 /* 2528 2531 * Configure WAN interface … … 2530 2533 #ifdef HAVE_3G 2531 2534 if ((strcmp(wan_proto, "3g") == 0)) { 2535 stop_dhcpc(); 2536 #ifdef HAVE_PPTP 2537 stop_pptp(); 2538 #endif 2539 mkdir("/tmp/ppp", 0777); 2540 symlink("/sbin/rc", "/tmp/ppp/ip-up"); 2541 symlink("/sbin/rc", "/tmp/ppp/ip-down"); 2542 unlink("/tmp/ppp/log"); 2543 unlink("/tmp/ppp/connect-log"); 2544 unlink("/tmp/ppp/set-pppoepid"); 2532 2545 char *controldevice = get3GControlDevice(); 2533 2534 mkdir("/tmp/ppp", 0777);2535 2546 int timeout = 5; 2547 if (controldevice && !strcmp(controldevice,"hso")) 2548 { 2549 2550 2551 }else{ 2552 2536 2553 2537 2554 /* init PIN */ … … 2585 2602 fclose(fp); 2586 2603 2587 symlink("/sbin/rc", "/tmp/ppp/ip-up"); 2588 symlink("/sbin/rc", "/tmp/ppp/ip-down"); 2589 unlink("/tmp/ppp/log"); 2590 2591 // Clean pppoe linksys client files - Added by ice-man (Wed Jun 1) 2592 unlink("/tmp/ppp/connect-log"); 2593 unlink("/tmp/ppp/set-pppoepid"); 2594 2595 stop_dhcpc(); 2596 #ifdef HAVE_PPTP 2597 stop_pptp(); 2598 #endif 2604 2605 2599 2606 eval("pppd", "file", "/tmp/ppp/options.pppoe"); 2600 2607 … … 2654 2661 start_redial(); 2655 2662 } 2663 } 2656 2664 } 2657 2665 src/router/services/networking/ppp.c
r12224 r12432 47 47 #define IFUP (IFF_UP | IFF_RUNNING | IFF_BROADCAST | IFF_MULTICAST) 48 48 49 50 char *getenvs(char *env) 51 { 52 static unsigned char r[64]; 53 char *e=getenv(env); 54 int c=0; 55 int i; 56 for (i=0;i<strlen(e);i++) 57 { 58 if (e[i]!=' ') 59 r[c++]=e[i]; 60 } 61 return r; 62 } 49 63 /* 50 64 * Called when link comes up … … 89 103 nvram_set("pppoe_ifname", wan_ifname); 90 104 91 if ((value = getenv ("IPLOCAL"))) {105 if ((value = getenvs("IPLOCAL"))) { 92 106 ifconfig(wan_ifname, IFUP, value, "255.255.255.255"); 93 107 if (nvram_match("wan_proto", "pppoe")) { … … 119 133 } 120 134 121 if ((value = getenv ("IPREMOTE"))) {135 if ((value = getenvs("IPREMOTE"))) { 122 136 nvram_set("wan_gateway", value); 123 137 if (nvram_match("wan_proto", "pptp")) { … … 127 141 } 128 142 strcpy(buf, ""); 129 if (getenv ("DNS1"))130 sprintf(buf, "%s", getenv ("DNS1"));131 if (getenv ("DNS2"))143 if (getenvs("DNS1")) 144 sprintf(buf, "%s", getenvs("DNS1")); 145 if (getenvs("DNS2")) 132 146 sprintf(buf + strlen(buf), "%s%s", strlen(buf) ? " " : "", 133 getenv ("DNS2"));147 getenvs("DNS2")); 134 148 nvram_set("wan_get_dns", buf); 135 149 src/router/services/sysinit/sysinit-rt2880.c
r12224 r12432 69 69 mount("proc", "/proc", "proc", MS_MGC_VAL, NULL); 70 70 mount("sysfs", "/sys", "sysfs", MS_MGC_VAL, NULL); 71 mount("usbfs", "/proc/bus/usb", "usbfs", MS_MGC_VAL, NULL); 71 72 cprintf("sysinit() tmp\n"); 72 73
