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>
SVN-Revision: 11898
This commit is contained in:
parent
a7bbd93956
commit
1a47f8142d
5 changed files with 1522 additions and 12 deletions
|
@ -39,15 +39,21 @@ setup_interface_3g() {
|
|||
local chat="/etc/chatscripts/3g.chat"
|
||||
|
||||
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
|
||||
/sbin/insmod $module 2>&- >&-
|
||||
done
|
||||
|
||||
config_get apn "$cfg" apn
|
||||
config_get service "$cfg" service
|
||||
config_get pincode "$cfg" pincode
|
||||
config_get mtu "$cfg" mtu
|
||||
config_get apn "$config" apn
|
||||
config_get service "$config" service
|
||||
config_get pincode "$config" pincode
|
||||
config_get mtu "$config" mtu
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
return 1
|
||||
}
|
||||
|
|
|
@ -361,7 +361,7 @@ $(eval $(call KernelPackage,usb-serial-oti6858))
|
|||
|
||||
|
||||
define KernelPackage/usb-serial-sierrawireless
|
||||
$(call usbdep,kmod-usb-serial @LINUX_2_6)
|
||||
$(call usbdep,kmod-usb-serial)
|
||||
TITLE:=Support for Sierra Wireless devices
|
||||
KCONFIG:=CONFIG_USB_SERIAL_SIERRAWIRELESS
|
||||
FILES:=$(LINUX_DIR)/drivers/usb/serial/sierra.$(LINUX_KMOD_SUFFIX)
|
||||
|
|
1486
target/linux/brcm-2.4/patches/014-sierra_support.patch
Normal file
1486
target/linux/brcm-2.4/patches/014-sierra_support.patch
Normal file
File diff suppressed because it is too large
Load diff
22
target/linux/brcm-2.4/patches/015-sierra_kconfig.patch
Normal file
22
target/linux/brcm-2.4/patches/015-sierra_kconfig.patch
Normal file
|
@ -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 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 */
|
||||
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].idProduct = 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].idProduct = 0x0112;
|
||||
+ 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 */
|
||||
+ generic_device_ids[6].idVendor = 0x12d1;
|
||||
+ generic_device_ids[6].idProduct = 0x1001;
|
||||
|
|
Loading…
Reference in a new issue