Wow, this really sucks. I got my Kyocera kpc650 working somewhat on edgy eft. It's an evdo card (cellular broadband, costs around $80/month). But you have to patch the kernel to keep it from dying all the time. I can't find anybody else with this particular variant of the patch; the second hunk tends to differ a lot. Anyway, compiling now; we'll see if it actually works.

Then you have to remember to modprobe usbserial vendor=0x0c88 product=0x17da
to load the module (vendor and product come from /proc/bus/usb/devices).

Also note that groups of 8 spaces in the patch should be replaced with a tab; that was the other gotcha I found.

I used kppp to configure the connection. It produces:
/etc/ppp/peers/ppp0:
connect "/usr/sbin/chat -v -f /etc/chatscripts/ppp0"
usepeerdns
noauth
defaultroute
persist
/dev/ttyUSB0
115200

If it still gets wonky: pccardctl eject ; pccardctl insert to kick it.

Here's the patch to usb-serial.c:


# diff -Naur usb-serial.c usb-serial-v620.c

--- usb-serial.c        2005-03-01 23:38:37.000000000 -0800
+++ usb-serial-v620.c   2005-07-22 10:09:59.000000000 -0700
@@ -361,6 +361,7 @@
    drivers depend on it.
 */

+static ushort maxSize = 0;
 static int debug;
 static struct usb_serial *serial_table[SERIAL_TTY_MINORS];     /* initially 
all NULL */
 static LIST_HEAD(usb_serial_driver_list);
@@ -803,7 +804,7 @@
                        dev_err(&interface->dev, "No free urbs available\n");
                        goto probe_error;
                }
-               buffer_size = le16_to_cpu(endpoint->wMaxPacketSize);
+               buffer_size = (endpoint->wMaxPacketSize > 
maxSize)?endpoint->wMaxPacketSize:maxSize;
                port->bulk_in_size = buffer_size;
                port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
                port->bulk_in_buffer = kmalloc (buffer_size, GFP_KERNEL);
@@ -1433,3 +1434,5 @@

 module_param(debug, bool, S_IRUGO | S_IWUSR);
 MODULE_PARM_DESC(debug, "Debug enabled or not");
+module_param(maxSize, ushort,0);
+MODULE_PARM_DESC(maxSize,"User specified USB endpoint size");

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to