Re: [PATCH 2.6.21.3] USB: add support for TRU-install and new VID/PIDs to Sierra Wireless driver

2007-06-06 Thread Andrew Morton
On Tue, 05 Jun 2007 14:26:48 -0700 Kevin Lloyd <[EMAIL PROTECTED]> wrote:

> This patch is derived from the 2.6.21.3 kernel source and adds support for 
> the new TRU-install
> feature (without this support new devices will not work), and add new UMTS 
> device VID/PIDs.

2.6.21.3 is quite old, sorry.  The patch throws several rejects.

Against 2.6.22-rc4 would be preferred.  Against git-snapshot-of-the-day
from ftp://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/ is even better.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2.6.21.3] USB: add support for TRU-install and new VID/PIDs to Sierra Wireless driver

2007-06-06 Thread Andrew Morton
On Tue, 05 Jun 2007 14:26:48 -0700 Kevin Lloyd [EMAIL PROTECTED] wrote:

 This patch is derived from the 2.6.21.3 kernel source and adds support for 
 the new TRU-install
 feature (without this support new devices will not work), and add new UMTS 
 device VID/PIDs.

2.6.21.3 is quite old, sorry.  The patch throws several rejects.

Against 2.6.22-rc4 would be preferred.  Against git-snapshot-of-the-day
from ftp://ftp.kernel.org/pub/linux/kernel/v2.6/snapshots/ is even better.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2.6.21.3] USB: add support for TRU-install and new VID/PIDs to Sierra Wireless driver

2007-06-05 Thread Kevin Lloyd

From: Kevin Lloyd <[EMAIL PROTECTED]>

This patch is derived from the 2.6.21.3 kernel source and adds support for the 
new TRU-install
feature (without this support new devices will not work), and add new UMTS 
device VID/PIDs.

Signed-off-by: Kevin Lloyd <[EMAIL PROTECTED]>
---

diff -uprN linux-2.6.21.3.orig/drivers/usb/serial/sierra.c 
linux-2.6.21.3.swoc/drivers/usb/serial/sierra.c
--- linux-2.6.21.3.orig/drivers/usb/serial/sierra.c 2007-05-24 
14:22:47.0 -0700
+++ linux-2.6.21.3.swoc/drivers/usb/serial/sierra.c 2007-06-05 
13:29:49.0 -0700
@@ -15,9 +15,9 @@

*/

-#define DRIVER_VERSION "v.1.0.6"
+#define DRIVER_VERSION "v.1.2.2"
#define DRIVER_AUTHOR "Kevin Lloyd <[EMAIL PROTECTED]>"
-#define DRIVER_DESC "USB Driver for Sierra Wireless USB modems"
+#define DRIVER_DESC "USB Driver for Sierra Wireless modems"

#include 
#include 
@@ -28,64 +28,53 @@
#include 
#include 

+#include "sierra.h"
+
+static int debug;

static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
{ USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
+   { USB_DEVICE(0x0f30, 0x1b1d) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
{ USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
{ USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
+   { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U*/
+   
{ USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
{ USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
{ USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
-   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
+   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 & AC 875U */
{ USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
-
-   { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
-   { USB_DEVICE(0x0F3D, 0x0112) }, /* AirPrime/Sierra PC 5220 */
+   { USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/
+   { USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/
+   { USB_DEVICE(0x1199, 0x6850) }, /* Sierra Wireless AirCard 880 */
+   { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+   { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880 E */
+   { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881 E */
+
+   { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra 
Wireless AirCard 580 */
+   { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* 
Airprime/Sierra PC 5220 */
+   
+	 
+	{ USB_DEVICE(0x1199, 0x0FFF), .driver_info = DEVICE_INSTALLER},	

{ }
};
MODULE_DEVICE_TABLE(usb, id_table);

-static struct usb_device_id id_table_1port [] = {
-   { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
-   { USB_DEVICE(0x0F3D, 0x0112) }, /* AirPrime/Sierra PC 5220 */
-   { }
-};
-
-static struct usb_device_id id_table_3port [] = {
-   { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
-   { USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
-   { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
-   { USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
-   { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
-   { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
-   { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
-   { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
-   { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
-   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
-   { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
-   { }
-};
+int sierra_probe(struct usb_interface *iface, const struct usb_device_id *id);
+int sierra_set_power_state(struct usb_device *udev, unsigned long swiState);
+int sierra_set_ms_mode(struct usb_device *udev, SWIMS_SET_MODE_VALUE eSocMode);

static struct usb_driver sierra_driver = {
.name   = "sierra",
-   .probe  = usb_serial_probe,
+   .probe  = sierra_probe,
.disconnect = usb_serial_disconnect,
.id_table   = id_table,
.no_dynamic_id =1,
};

-
-static int debug;
-
-/* per port private data */
-#define N_IN_URB   4
-#define N_OUT_URB  4
-#define IN_BUFLEN  4096
-#define OUT_BUFLEN 128
-
struct sierra_port_private {
/* Input endpoints and buffer for this port */
struct urb *in_urbs[N_IN_URB];
@@ -116,6 +105,7 @@ static int sierra_send_setup(struct usb_

if (port->tty) {
int val = 0;
+
if (portdata->dtr_state)
val |= 0x01;
if 

[PATCH 2.6.21.3] USB: add support for TRU-install and new VID/PIDs to Sierra Wireless driver

2007-06-05 Thread Kevin Lloyd

From: Kevin Lloyd [EMAIL PROTECTED]

This patch is derived from the 2.6.21.3 kernel source and adds support for the 
new TRU-install
feature (without this support new devices will not work), and add new UMTS 
device VID/PIDs.

Signed-off-by: Kevin Lloyd [EMAIL PROTECTED]
---

diff -uprN linux-2.6.21.3.orig/drivers/usb/serial/sierra.c 
linux-2.6.21.3.swoc/drivers/usb/serial/sierra.c
--- linux-2.6.21.3.orig/drivers/usb/serial/sierra.c 2007-05-24 
14:22:47.0 -0700
+++ linux-2.6.21.3.swoc/drivers/usb/serial/sierra.c 2007-06-05 
13:29:49.0 -0700
@@ -15,9 +15,9 @@

*/

-#define DRIVER_VERSION v.1.0.6
+#define DRIVER_VERSION v.1.2.2
#define DRIVER_AUTHOR Kevin Lloyd [EMAIL PROTECTED]
-#define DRIVER_DESC USB Driver for Sierra Wireless USB modems
+#define DRIVER_DESC USB Driver for Sierra Wireless modems

#include linux/kernel.h
#include linux/jiffies.h
@@ -28,64 +28,53 @@
#include linux/usb.h
#include linux/usb/serial.h

+#include sierra.h
+
+static int debug;

static struct usb_device_id id_table [] = {
{ USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
{ USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
+   { USB_DEVICE(0x0f30, 0x1b1d) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
{ USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
{ USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
{ USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
+   { USB_DEVICE(0x1199, 0x0120) }, /* Sierra Wireless USB Dongle 595U*/
+   
{ USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
{ USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
{ USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
-   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
+   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775  AC 875U */
{ USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
-
-   { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
-   { USB_DEVICE(0x0F3D, 0x0112) }, /* AirPrime/Sierra PC 5220 */
+   { USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/
+   { USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/
+   { USB_DEVICE(0x1199, 0x6850) }, /* Sierra Wireless AirCard 880 */
+   { USB_DEVICE(0x1199, 0x6851) }, /* Sierra Wireless AirCard 881 */
+   { USB_DEVICE(0x1199, 0x6852) }, /* Sierra Wireless AirCard 880 E */
+   { USB_DEVICE(0x1199, 0x6853) }, /* Sierra Wireless AirCard 881 E */
+
+   { USB_DEVICE(0x1199, 0x0112), .driver_info = DEVICE_1_PORT }, /* Sierra 
Wireless AirCard 580 */
+   { USB_DEVICE(0x0F3D, 0x0112), .driver_info = DEVICE_1_PORT }, /* 
Airprime/Sierra PC 5220 */
+   
+	 
+	{ USB_DEVICE(0x1199, 0x0FFF), .driver_info = DEVICE_INSTALLER},	

{ }
};
MODULE_DEVICE_TABLE(usb, id_table);

-static struct usb_device_id id_table_1port [] = {
-   { USB_DEVICE(0x1199, 0x0112) }, /* Sierra Wireless AirCard 580 */
-   { USB_DEVICE(0x0F3D, 0x0112) }, /* AirPrime/Sierra PC 5220 */
-   { }
-};
-
-static struct usb_device_id id_table_3port [] = {
-   { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */
-   { USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */
-   { USB_DEVICE(0x1199, 0x0218) }, /* Sierra Wireless MC5720 */
-   { USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */
-   { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */
-   { USB_DEVICE(0x1199, 0x0021) }, /* Sierra Wireless AirCard 597E */
-   { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */
-   { USB_DEVICE(0x1199, 0x6804) }, /* Sierra Wireless MC8755 */
-   { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */
-   { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */
-   { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
-   { }
-};
+int sierra_probe(struct usb_interface *iface, const struct usb_device_id *id);
+int sierra_set_power_state(struct usb_device *udev, unsigned long swiState);
+int sierra_set_ms_mode(struct usb_device *udev, SWIMS_SET_MODE_VALUE eSocMode);

static struct usb_driver sierra_driver = {
.name   = sierra,
-   .probe  = usb_serial_probe,
+   .probe  = sierra_probe,
.disconnect = usb_serial_disconnect,
.id_table   = id_table,
.no_dynamic_id =1,
};

-
-static int debug;
-
-/* per port private data */
-#define N_IN_URB   4
-#define N_OUT_URB  4
-#define IN_BUFLEN  4096
-#define OUT_BUFLEN 128
-
struct sierra_port_private {
/* Input endpoints and buffer for this port */
struct urb *in_urbs[N_IN_URB];
@@ -116,6 +105,7 @@ static int sierra_send_setup(struct usb_

if (port-tty) {
int val = 0;
+
if (portdata-dtr_state)