Module Name: src Committed By: christos Date: Fri Oct 1 20:56:11 UTC 2010
Modified Files: src/sys/dev/usb: umodem_common.c usb_quirks.c usb_quirks.h usbdevs usbdi_util.c Log Message: >From Anon Ymous: Add support for the Zoom 3095 USB Fax Modem. There are some problems with this modem: 1) The CS descriptors were placed after all other descriptors rather than in the Control Interface. This is true in both configurations and is the issue this patch deals with. 2) Modem audio is not done on the modem. There is a second configuration with an extra interface (3 interfaces) which presumably is for handling audio. This patch does not support that. 3) The interrupts are raised a bit slowly. This means that pppd(8) needs to wait a bit before trying to read from the link (i.e., just before the get_input() loop in src/dist/pppd/pppd/main.c line 547). If you don't wait, then DCD will not be detected high before that first read and get_input() will drop the line. This is not a problem if you use the "local" option to pppd(8) and ignore DCD, but that is less than desirable. 4) You apparently have to toggle "RSDL (DCD) option"[1] when you initialize the modem or you will never see a second DCD high interrupt when redialing after a disconnect. Without this the pppd(8) "persist" mode will not work. Presumably, some extra initialization is missing from the driver for this chipset. [1] Send the AT commands: AT&C0 followed by AT&C1 - doing it in one command doesn't work. The AT commands for this modem are at: http://www.zoom.com/documentation/dial_up/3095F_ATcommands.pdf To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/dev/usb/umodem_common.c cvs rdiff -u -r1.67 -r1.68 src/sys/dev/usb/usb_quirks.c cvs rdiff -u -r1.24 -r1.25 src/sys/dev/usb/usb_quirks.h cvs rdiff -u -r1.562 -r1.563 src/sys/dev/usb/usbdevs cvs rdiff -u -r1.53 -r1.54 src/sys/dev/usb/usbdi_util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.