Hello all,
I've found that the Belkin_sa drivers in the 2.4.5 kernel do
seem to support the Belkin F5U120-PC (4 Port Hub, 2 PS/2, 1 LP, 1 Serial)
Serial port. It only seems to require adding the appropriate entries
for the additional product code (050d:1203), tables, and initialization
to belkin_sa.[ch].
This almost seemed TOO easy but I haven't run into a gotcha yet.
It's talking to a modem successfully and I'm about to try out an IrDA
dongle (an old Belkin serial IrDA module, no less).
All the other functions on this hub (LP and PS/2 as well as hub)
are already supported.
The diff is small. Attached below.
Mike
--
Michael H. Warfield | (770) 985-6132 | [EMAIL PROTECTED]
(The Mad Wizard) | (678) 463-0932 | http://www.wittsend.com/mhw/
NIC whois: MHW9 | An optimist believes we live in the best of all
PGP Key: 0xDF1DD471 | possible worlds. A pessimist is sure of it!
============================================================================
diff -urN linux-2.4.5/drivers/usb/serial/belkin_sa.c
linux-2.4.5.new/drivers/usb/serial/belkin_sa.c
--- linux-2.4.5/drivers/usb/serial/belkin_sa.c Mon May 21 18:02:06 2001
+++ linux-2.4.5.new/drivers/usb/serial/belkin_sa.c Thu May 31 12:06:04 2001
@@ -24,6 +24,9 @@
* -- Add support for flush commands
* -- Add everything that is missing :)
*
+ * 31-May-2001 Michael H. Warfield
+ * - Added support for Belkin F5U120-PC multifunction hub serial port.
+ *
* 08-Apr-2001 gb
* - Identify version on module load.
*
@@ -102,6 +105,7 @@
static __devinitdata struct usb_device_id id_table_combined [] = {
{ USB_DEVICE(BELKIN_SA_VID, BELKIN_SA_PID) },
+ { USB_DEVICE(BELKIN_PC_VID, BELKIN_PC_PID) },
{ USB_DEVICE(BELKIN_OLD_VID, BELKIN_OLD_PID) },
{ USB_DEVICE(PERACOM_VID, PERACOM_PID) },
{ USB_DEVICE(GOHUBS_VID, GOHUBS_PID) },
@@ -113,6 +117,11 @@
{ } /* Terminating entry */
};
+static __devinitdata struct usb_device_id belkin_pc_table [] = {
+ { USB_DEVICE(BELKIN_PC_VID, BELKIN_PC_PID) },
+ { } /* Terminating entry */
+};
+
static __devinitdata struct usb_device_id belkin_old_table [] = {
{ USB_DEVICE(BELKIN_OLD_VID, BELKIN_OLD_PID) },
{ } /* Terminating entry */
@@ -152,6 +161,28 @@
};
+/* All of the device info needed for the Belkin serial converter */
+struct usb_serial_device_type belkin_pc_device = {
+ name: "Belkin F5U120-PC USB Serial Adapter",
+ id_table: belkin_pc_table, /* the Belkin F5U120
+serial port device */
+ needs_interrupt_in: MUST_HAVE, /* this device must
+have an interrupt in endpoint */
+ needs_bulk_in: MUST_HAVE, /* this device must
+have a bulk in endpoint */
+ needs_bulk_out: MUST_HAVE, /* this device must
+have a bulk out endpoint */
+ num_interrupt_in: 1,
+ num_bulk_in: 1,
+ num_bulk_out: 1,
+ num_ports: 1,
+ open: belkin_sa_open,
+ close: belkin_sa_close,
+ read_int_callback: belkin_sa_read_int_callback, /* How we get the
+status info */
+ ioctl: belkin_sa_ioctl,
+ set_termios: belkin_sa_set_termios,
+ break_ctl: belkin_sa_break_ctl,
+ startup: belkin_sa_startup,
+ shutdown: belkin_sa_shutdown,
+};
+
+
/* This driver also supports the "old" school Belkin single port adaptor */
struct usb_serial_device_type belkin_old_device = {
name: "Belkin USB Serial Adapter",
@@ -597,6 +628,7 @@
static int __init belkin_sa_init (void)
{
usb_serial_register (&belkin_sa_device);
+ usb_serial_register (&belkin_pc_device);
usb_serial_register (&belkin_old_device);
usb_serial_register (&peracom_device);
usb_serial_register (&gocom232_device);
@@ -609,6 +641,7 @@
static void __exit belkin_sa_exit (void)
{
usb_serial_deregister (&belkin_sa_device);
+ usb_serial_deregister (&belkin_pc_device);
usb_serial_deregister (&belkin_old_device);
usb_serial_deregister (&peracom_device);
usb_serial_deregister (&gocom232_device);
diff -urN linux-2.4.5/drivers/usb/serial/belkin_sa.h
linux-2.4.5.new/drivers/usb/serial/belkin_sa.h
--- linux-2.4.5/drivers/usb/serial/belkin_sa.h Fri Apr 6 18:51:52 2001
+++ linux-2.4.5.new/drivers/usb/serial/belkin_sa.h Thu May 31 12:00:55 2001
@@ -14,6 +14,9 @@
* (at your option) any later version.
*
* See Documentation/usb/usb-serial.txt for more information on using this driver
+ *
+ * 31-May-2001 Michael H. Warfield
+ * - Added support for Belkin F5U120-PC multifunction hub serial port.
*
* 12-Mar-2001 gkh
* Added GoHubs GO-COM232 device id.
@@ -35,6 +38,10 @@
#define BELKIN_SA_VID 0x050d /* Vendor Id */
#define BELKIN_SA_PID 0x0103 /* Product Id */
+
+/* F5U120-PC */
+#define BELKIN_PC_VID 0x050d /* Vendor Id */
+#define BELKIN_PC_PID 0x1203 /* Product Id */
#define BELKIN_OLD_VID 0x056c /* Belkin's "old" vendor id */
#define BELKIN_OLD_PID 0x8007 /* Belkin's "old" single port serial converter's id */
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel