[PATCH] gadget_serial.txt: Documentation clarifications and new windows driver!

From: Ioannis Barkas
Date: Tue Jun 12 2007 - 16:13:40 EST

Fixes errors and supports multiple
architectures.Corrected errors and warnings are:

(E22.1.1003) Section [SourceDisksNames] not defined.
(E22.1.1017) Primary revision number must be greater
than 0.
(E22.1.1110) File "usbser.sys" is not listed in the

(W22.1.2111) [SourceDisksFiles] section not defined -
full CopyFiles checking not done.
(W22.1.2034) No destination dir was defined for this
section. Your driver is being
copied to the DefaultDestDir location specified

Hello we are Ioannis Barkas (risc4all@xxxxxxxxx) and
Nikos Barkas (doubl3nuts@xxxxxxxxx).

There are some errors in
After fixing the errors, we thought to add support in
it for newer ms OSes.

We were ...surprised on the first place to see .inf
files inside the Linux kernel!

The original text file contains a windows information
file which is not correct.
Moreover the .inf file in it has 4 errors and 2
warnings while ours has one
error(the .cat which is commented as the driver is not
digitally signed) and no warning.
We also modified a documentation section referring to
windows 98 as the usbser.sys is not
included in any driver**.cab as the text suggests in
contrast to win Me where it is
supplied. Furthermore, the original .inf was outdated
for AMD64 and IA64 systems as it
was limited to work on 32 bit architectures while our
new one works in three architectures
[supposing that ms supplies usbser.sys in IA64
media-we do not have such media or system
for verification].The driver is suitable for Windows

Cc: Al Borchers <alborchers@xxxxxxxxxxxxxxxx>

There is the patch(we do not attach it as many people
suggest not to do so) from diff -u:

--- /linux-2.6.21/Documentation/usb/gadget_serial.txt
2007-04-26 04:08:32.000000000 +0300
+++ /linux/Documentation/usb/gadget_serial.txt
2007-06-12 13:20:12.000000000 +0300
@@ -1,6 +1,6 @@

- Linux Gadget Serial Driver v2.0
- 11/20/2004
+ Linux Gadget Serial Driver v3.1
+ 06/11/2007

License and Disclaimer
@@ -37,8 +37,8 @@
This document assumes that you are familiar with
Linux and
Windows and know how to configure and build Linux
kernels, run
standard utilities, use minicom and HyperTerminal,
and work with
-USB and serial devices. It also assumes you
configure the Linux
-gadget and usb drivers as modules.
+USB and serial devices. It also assumes that you can
+the Linux gadget and usb drivers as modules.

@@ -100,7 +100,7 @@
To use the gadget serial driver you must configure
the Linux gadget
side kernel for "Support for USB Gadgets", for a "USB
Controller" (for example, net2280), and for the
"Serial Gadget"
-driver. All this are listed under "USB Gadget
Support" when
+driver. All these are listed under "USB Gadget
Support" when
configuring the kernel. Then rebuild and install the
kernel or

@@ -137,25 +137,39 @@
To use the Windows ACM driver you must have the files
and "usbser.sys" together in a folder on the Windows

-The "gserial.inf" file is given here.
+The "gserial.inf" file for windows
98,Me,2000,XP,2003,Vista is given
+below and has passed chkinf 2.5 tests. It supports
x86, AMD64, IA64
+systems now! It has 1 non important error about
missing WHQL digital
+signature catalog (.cat) file directive. If anyone
wants to pay ms
+for digital signature, remove the ";" in front of the

-------------------- CUT HERE --------------------
-Signature="$Windows NT$"
+Signature = "$Chicago$"
+Class = Ports
+ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider = %TUX%
+DriverVer = 06/11/2007,
+;CatalogFile = Gserial.cat
; Copyright (C) 2004 Al Borchers
+; Copyright (C) 2007 Ioannis Barkas
+; Copyright (C) 2007 Nikos Barkas

+%TUX%=GSerialDeviceList, NTx86, NTamd64, NTia64

%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7

+%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
+%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
+%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7

@@ -164,6 +178,16 @@

+DefaultDestDir = 10
+GSerialCopyFiles = 12
@@ -181,9 +205,10 @@
LoadOrderGroup = Base

-LINUX = "Linux"
-GSERIAL = "Gadget Serial"
+TUX = "Linux"
+GSERIAL = "Gadget Serial"
GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"
+LINUX_GADGET_ROCKS = "Linux USB Gadget Serial
-------------------- CUT HERE --------------------

The "usbser.sys" file comes with various versions of
@@ -191,8 +216,8 @@

C:\WINDOWS\Driver Cache\i386\driver.cab

-Or it can be found on the Windows 98SE CD in the
"win98" folder
-in the "DRIVER11.CAB" through "DRIVER20.CAB" cab
files. You will
+Or it can be found on the Windows Me CD in the
"win9x" folder
+in the "DRIVER5.CAB" through "DRIVER7.CAB" cab files.
You will
need the DOS "expand" program, the Cygwin
"cabextract" program, or
a similar program to unpack these cab files and
extract "usbser.sys".

@@ -203,10 +228,11 @@

(Thanks to Nishant Kamat for pointing out this DOS

-When the gadget serial driver is loaded and the USB
device connected
-to the Windows host with a USB cable, Windows should
recognize the
-gadget serial device and ask for a driver. Tell
Windows to find the
-driver in the folder that contains "gserial.inf" and
+When the gadget serial driver is loaded and the USB
device is
+connected to the Windows host with a USB cable,
Windows should
+recognize the gadget serial device and ask for a
driver. Tell
+Windows to find the driver in the folder that
contains "gserial.inf"
+and "usbser.sys".

For example, on Windows XP, when the gadget serial
device is first
plugged in, the "Found New Hardware Wizard" starts
up. Select

No need to miss a message. Get email on-the-go
with Yahoo! Mail for Mobile. Get started.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/