This series of patches closes the support gap on one of the explicitly
supported platforms (WRT54G3G) by adding direct support for the Sierra Wireless 3G modems. Signed-off-by: RB <aoz.syn@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11898 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
17b27ff0a3
commit
3b0936087a
|
@ -39,15 +39,21 @@ setup_interface_3g() {
|
||||||
local chat="/etc/chatscripts/3g.chat"
|
local chat="/etc/chatscripts/3g.chat"
|
||||||
|
|
||||||
config_get device "$config" device
|
config_get device "$config" device
|
||||||
|
config_get maxwait "$config" maxwait
|
||||||
|
maxwait=${maxwait:-20}
|
||||||
|
while [ ! -e "$device" -a $maxwait -gt 0 ];do # wait for driver loading to catch up
|
||||||
|
maxwait=$(($maxwait - 1))
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
for module in slhc ppp_generic ppp_async; do
|
for module in slhc ppp_generic ppp_async; do
|
||||||
/sbin/insmod $module 2>&- >&-
|
/sbin/insmod $module 2>&- >&-
|
||||||
done
|
done
|
||||||
|
|
||||||
config_get apn "$cfg" apn
|
config_get apn "$config" apn
|
||||||
config_get service "$cfg" service
|
config_get service "$config" service
|
||||||
config_get pincode "$cfg" pincode
|
config_get pincode "$config" pincode
|
||||||
config_get mtu "$cfg" mtu
|
config_get mtu "$config" mtu
|
||||||
|
|
||||||
set_3g_led 1 0 1
|
set_3g_led 1 0 1
|
||||||
|
|
||||||
|
@ -74,7 +80,7 @@ setup_interface_3g() {
|
||||||
# Don't assume Option to be default as it breaks with Huawei Cards/Sticks
|
# Don't assume Option to be default as it breaks with Huawei Cards/Sticks
|
||||||
|
|
||||||
PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
|
PINCODE="$pincode" gcom -d "$device" -s /etc/gcom/setpin.gcom || {
|
||||||
echo "$cfg(3g): Failed to set the PIN code."
|
echo "$config(3g): Failed to set the PIN code."
|
||||||
set_3g_led 0 0 0
|
set_3g_led 0 0 0
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -361,7 +361,7 @@ $(eval $(call KernelPackage,usb-serial-oti6858))
|
||||||
|
|
||||||
|
|
||||||
define KernelPackage/usb-serial-sierrawireless
|
define KernelPackage/usb-serial-sierrawireless
|
||||||
$(call usbdep,kmod-usb-serial @LINUX_2_6)
|
$(call usbdep,kmod-usb-serial)
|
||||||
TITLE:=Support for Sierra Wireless devices
|
TITLE:=Support for Sierra Wireless devices
|
||||||
KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
|
KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
|
||||||
FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
|
FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,22 @@
|
||||||
|
diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Config.in linux-2.4.35.4/drivers/usb/serial/Config.in
|
||||||
|
--- linux-2.4.35.4.orig/drivers/usb/serial/Config.in 2008-01-25 10:09:11.541747549 -0700
|
||||||
|
+++ linux-2.4.35.4/drivers/usb/serial/Config.in 2008-01-25 10:17:01.890745265 -0700
|
||||||
|
@@ -39,6 +39,7 @@
|
||||||
|
dep_tristate ' USB KOBIL chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_KOBIL_SCT $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
|
||||||
|
dep_tristate ' USB Prolific 2303 Single Port Serial Driver' CONFIG_USB_SERIAL_PL2303 $CONFIG_USB_SERIAL
|
||||||
|
dep_tristate ' USB REINER SCT cyberJack pinpad/e-com chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_CYBERJACK $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
|
||||||
|
+ dep_tristate ' USB Sierra Wireless Driver' CONFIG_USB_SERIAL_SIERRAWIRELESS $CONFIG_USB_SERIAL
|
||||||
|
dep_tristate ' USB Xircom / Entregra Single Port Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_XIRCOM $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
|
||||||
|
dep_tristate ' USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_OMNINET $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
|
||||||
|
fi
|
||||||
|
diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Makefile linux-2.4.35.4/drivers/usb/serial/Makefile
|
||||||
|
--- linux-2.4.35.4.orig/drivers/usb/serial/Makefile 2008-01-25 10:09:11.542749582 -0700
|
||||||
|
+++ linux-2.4.35.4/drivers/usb/serial/Makefile 2008-01-25 10:17:37.412855271 -0700
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
obj-$(CONFIG_USB_SERIAL_IR) += ir-usb.o
|
||||||
|
obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o
|
||||||
|
obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o
|
||||||
|
+obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o
|
||||||
|
|
||||||
|
# Objects that export symbols.
|
||||||
|
export-objs := usbserial.o
|
|
@ -7,11 +7,11 @@ Index: linux-2.4.35.4/drivers/usb/serial/usbserial.c
|
||||||
static int maxSize = 0;
|
static int maxSize = 0;
|
||||||
|
|
||||||
-static struct usb_device_id generic_device_ids[2]; /* Initially all zeroes. */
|
-static struct usb_device_id generic_device_ids[2]; /* Initially all zeroes. */
|
||||||
+static struct usb_device_id generic_device_ids[10]; /* Initially all zeroes. */
|
+static struct usb_device_id generic_device_ids[9]; /* Initially all zeroes. */
|
||||||
|
|
||||||
/* All of the device info needed for the Generic Serial Converter */
|
/* All of the device info needed for the Generic Serial Converter */
|
||||||
static struct usb_serial_device_type generic_device = {
|
static struct usb_serial_device_type generic_device = {
|
||||||
@@ -1836,6 +1836,34 @@ static int __init usb_serial_init(void)
|
@@ -1836,6 +1836,30 @@ static int __init usb_serial_init(void)
|
||||||
generic_device_ids[0].idVendor = vendor;
|
generic_device_ids[0].idVendor = vendor;
|
||||||
generic_device_ids[0].idProduct = product;
|
generic_device_ids[0].idProduct = product;
|
||||||
generic_device_ids[0].match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT;
|
generic_device_ids[0].match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT;
|
||||||
|
@ -31,10 +31,6 @@ Index: linux-2.4.35.4/drivers/usb/serial/usbserial.c
|
||||||
+ generic_device_ids[4].idVendor = 0x0f3d;
|
+ generic_device_ids[4].idVendor = 0x0f3d;
|
||||||
+ generic_device_ids[4].idProduct = 0x0112;
|
+ generic_device_ids[4].idProduct = 0x0112;
|
||||||
+ generic_device_ids[4].match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT;
|
+ generic_device_ids[4].match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT;
|
||||||
+ /* Sierra Wireless AirCard 875 */
|
|
||||||
+ generic_device_ids[5].idVendor = 0x1199;
|
|
||||||
+ generic_device_ids[5].idProduct = 0x6820;
|
|
||||||
+ generic_device_ids[5].match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT;
|
|
||||||
+ /* Huawei E600 */
|
+ /* Huawei E600 */
|
||||||
+ generic_device_ids[6].idVendor = 0x12d1;
|
+ generic_device_ids[6].idVendor = 0x12d1;
|
||||||
+ generic_device_ids[6].idProduct = 0x1001;
|
+ generic_device_ids[6].idProduct = 0x1001;
|
||||||
|
|
Loading…
Reference in New Issue