view Documentation/usb/usb-serial.txt @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
line source
3 The USB serial driver currently supports a number of different USB to
4 serial converter products, as well as some devices that use a serial
5 interface from userspace to talk to the device.
7 See the individual product section below for specific information about
8 the different devices.
13 Currently the driver can handle up to 256 different serial interfaces at
14 one time.
16 If you are not using devfs:
17 The major number that the driver uses is 188 so to use the driver,
18 create the following nodes:
19 mknod /dev/ttyUSB0 c 188 0
20 mknod /dev/ttyUSB1 c 188 1
21 mknod /dev/ttyUSB2 c 188 2
22 mknod /dev/ttyUSB3 c 188 3
23 .
24 .
25 .
26 mknod /dev/ttyUSB254 c 188 254
27 mknod /dev/ttyUSB255 c 188 255
29 If you are using devfs:
30 The devices supported by this driver will show up as
31 /dev/usb/tts/{0,1,...}
33 When the device is connected and recognized by the driver, the driver
34 will print to the system log, which node(s) the device has been bound
35 to.
41 ConnectTech WhiteHEAT 4 port converter
43 ConnectTech has been very forthcoming with information about their
44 device, including providing a unit to test with.
46 The driver is officially supported by Connect Tech Inc.
47 http://www.connecttech.com
49 For any questions or problems with this driver, please contact
50 Stuart MacDonald at stuartm@connecttech.com
53 HandSpring Visor, Palm USB, and Clié USB driver
55 This driver works with all HandSpring USB, Palm USB, and Sony Clié USB
56 devices.
58 Only when the device tries to connect to the host, will the device show
59 up to the host as a valid USB device. When this happens, the device is
60 properly enumerated, assigned a port, and then communication _should_ be
61 possible. The driver cleans up properly when the device is removed, or
62 the connection is canceled on the device.
64 NOTE:
65 This means that in order to talk to the device, the sync button must be
66 pressed BEFORE trying to get any program to communicate to the device.
67 This goes against the current documentation for pilot-xfer and other
68 packages, but is the only way that it will work due to the hardware
69 in the device.
71 When the device is connected, try talking to it on the second port
72 (this is usually /dev/ttyUSB1 if you do not have any other usb-serial
73 devices in the system.) The system log should tell you which port is
74 the port to use for the HotSync transfer. The "Generic" port can be used
75 for other device communication, such as a PPP link.
77 For some Sony Clié devices, /dev/ttyUSB0 must be used to talk to the
78 device. This is true for all OS version 3.5 devices, and most devices
79 that have had a flash upgrade to a newer version of the OS. See the
80 kernel system log for information on which is the correct port to use.
82 If after pressing the sync button, nothing shows up in the system log,
83 try resetting the device, first a hot reset, and then a cold reset if
84 necessary. Some devices need this before they can talk to the USB port
85 properly.
87 Devices that are not compiled into the kernel can be specified with module
88 parameters. e.g. modprobe visor vendor=0x54c product=0x66
90 There is a webpage and mailing lists for this portion of the driver at:
91 http://usbvisor.sourceforge.net/
93 For any questions or problems with this driver, please contact Greg
94 Kroah-Hartman at greg@kroah.com
97 PocketPC PDA Driver
99 This driver can be used to connect to Compaq iPAQ, HP Jornada, Casio EM500
100 and other PDAs running Windows CE 3.0 or PocketPC 2002 using a USB
101 cable/cradle.
102 Most devices supported by ActiveSync are supported out of the box.
103 For others, please use module parameters to specify the product and vendor
104 id. e.g. modprobe ipaq vendor=0x3f0 product=0x1125
106 The driver presents a serial interface (usually on /dev/ttyUSB0) over
107 which one may run ppp and establish a TCP/IP link to the PDA. Once this
108 is done, you can transfer files, backup, download email etc. The most
109 significant advantage of using USB is speed - I can get 73 to 113
110 kbytes/sec for download/upload to my iPAQ.
112 This driver is only one of a set of components required to utilize
113 the USB connection. Please visit http://synce.sourceforge.net which
114 contains the necessary packages and a simple step-by-step howto.
116 Once connected, you can use Win CE programs like ftpView, Pocket Outlook
117 from the PDA and xcerdisp, synce utilities from the Linux side.
119 To use Pocket IE, follow the instructions given at
120 http://www.tekguru.co.uk/EM500/usbtonet.htm to achieve the same thing
121 on Win98. Omit the proxy server part; Linux is quite capable of forwarding
122 packets unlike Win98. Another modification is required at least for the
123 iPAQ - disable autosync by going to the Start/Settings/Connections menu
124 and unchecking the "Automatically synchronize ..." box. Go to
125 Start/Programs/Connections, connect the cable and select "usbdial" (or
126 whatever you named your new USB connection). You should finally wind
127 up with a "Connected to usbdial" window with status shown as connected.
128 Now start up PIE and browse away.
130 If it doesn't work for some reason, load both the usbserial and ipaq module
131 with the module parameter "debug" set to 1 and examine the system log.
132 You can also try soft-resetting your PDA before attempting a connection.
134 Other functionality may be possible depending on your PDA. According to
135 Wes Cilldhaire <billybobjoehenrybob@hotmail.com>, with the Toshiba E570,
136 ...if you boot into the bootloader (hold down the power when hitting the
137 reset button, continuing to hold onto the power until the bootloader screen
138 is displayed), then put it in the cradle with the ipaq driver loaded, open
139 a terminal on /dev/ttyUSB0, it gives you a "USB Reflash" terminal, which can
140 be used to flash the ROM, as well as the microP code.. so much for needing
141 Toshiba's $350 serial cable for flashing!! :D
142 NOTE: This has NOT been tested. Use at your own risk.
144 For any questions or problems with the driver, please contact Ganesh
145 Varadarajan <ganesh@veritas.com>
148 Keyspan PDA Serial Adapter
150 Single port DB-9 serial adapter, pushed as a PDA adapter for iMacs (mostly
151 sold in Macintosh catalogs, comes in a translucent white/green dongle).
152 Fairly simple device. Firmware is homebrew.
153 This driver also works for the Xircom/Entrgra single port serial adapter.
155 Current status:
156 Things that work:
157 basic input/output (tested with 'cu')
158 blocking write when serial line can't keep up
159 changing baud rates (up to 115200)
160 getting/setting modem control pins (TIOCM{GET,SET,BIS,BIC})
161 sending break (although duration looks suspect)
162 Things that don't:
163 device strings (as logged by kernel) have trailing binary garbage
164 device ID isn't right, might collide with other Keyspan products
165 changing baud rates ought to flush tx/rx to avoid mangled half characters
166 Big Things on the todo list:
167 parity, 7 vs 8 bits per char, 1 or 2 stop bits
168 HW flow control
169 not all of the standard USB descriptors are handled: Get_Status, Set_Feature
170 O_NONBLOCK, select()
172 For any questions or problems with this driver, please contact Brian
173 Warner at warner@lothar.com
176 Keyspan USA-series Serial Adapters
178 Single, Dual and Quad port adapters - driver uses Keyspan supplied
179 firmware and is being developed with their support.
181 Current status:
182 The USA-18X, USA-28X, USA-19, USA-19W and USA-49W are supported and
183 have been pretty throughly tested at various baud rates with 8-N-1
184 character settings. Other character lengths and parity setups are
185 presently untested.
187 The USA-28 isn't yet supported though doing so should be pretty
188 straightforward. Contact the maintainer if you require this
189 functionality.
191 More information is available at:
192 http://misc.nu/hugh/keyspan.html
194 For any questions or problems with this driver, please contact Hugh
195 Blemings at hugh@misc.nu
198 FTDI Single Port Serial Driver
200 This is a single port DB-25 serial adapter. More information about this
201 device and the Linux driver can be found at:
202 http://reality.sgi.com/bryder_wellington/ftdi_sio/
204 For any questions or problems with this driver, please contact Bill Ryder
205 at bryder@sgi.com
208 ZyXEL omni.net lcd plus ISDN TA
210 This is an ISDN TA. Please report both successes and troubles to
211 azummo@towertech.it
214 Cypress M8 CY4601 Family Serial Driver
216 This driver was in most part developed by Neil "koyama" Whelchel. It
217 has been improved since that previous form to support dynamic serial
218 line settings and improved line handling. The driver is for the most
219 part stable and has been tested on an smp machine. (dual p2)
221 Chipsets supported under CY4601 family:
223 CY7C63723, CY7C63742, CY7C63743, CY7C64013
225 Devices supported:
227 -DeLorme's USB Earthmate (SiRF Star II lp arch)
228 -Cypress HID->COM RS232 adapter
230 Note: Cypress Semiconductor claims no affiliation with the
231 the hid->com device.
233 Most devices using chipsets under the CY4601 family should
234 work with the driver. As long as they stay true to the CY4601
235 usbserial specification.
237 Technical notes:
239 The Earthmate starts out at 4800 8N1 by default... the driver will
240 upon start init to this setting. usbserial core provides the rest
241 of the termios settings, along with some custom termios so that the
242 output is in proper format and parsable.
244 The device can be put into sirf mode by issuing NMEA command:
245 $PSRF100,<protocol>,<baud>,<databits>,<stopbits>,<parity>*CHECKSUM
246 $PSRF100,0,9600,8,1,0*0C
248 It should then be sufficient to change the port termios to match this
249 to begin communicating.
251 As far as I can tell it supports pretty much every sirf command as
252 documented online available with firmware 2.31, with some unknown
253 message ids.
255 The hid->com adapter can run at a maximum baud of 115200bps. Please note
256 that the device has trouble or is incapable of raising line voltage properly.
257 It will be fine with null modem links, as long as you do not try to link two
258 together without hacking the adapter to set the line high.
260 The driver is smp safe. Performance with the driver is rather low when using
261 it for transfering files. This is being worked on, but I would be willing to
262 accept patches. An urb queue or packet buffer would likely fit the bill here.
264 If you have any questions, problems, patches, feature requests, etc. you can
265 contact me here via email:
266 dignome@gmail.com
267 (your problems/patches can alternately be submitted to usb-devel)
270 Digi AccelePort Driver
272 This driver supports the Digi AccelePort USB 2 and 4 devices, 2 port
273 (plus a parallel port) and 4 port USB serial converters. The driver
274 does NOT yet support the Digi AccelePort USB 8.
276 This driver works under SMP with the usb-uhci driver. It does not
277 work under SMP with the uhci driver.
279 The driver is generally working, though we still have a few more ioctls
280 to implement and final testing and debugging to do. The paralled port
281 on the USB 2 is supported as a serial to parallel converter; in other
282 words, it appears as another USB serial port on Linux, even though
283 physically it is really a parallel port. The Digi Acceleport USB 8
284 is not yet supported.
286 Please contact Peter Berger (pberger@brimson.com) or Al Borchers
287 (alborchers@steinerpoint.com) for questions or problems with this
288 driver.
291 Belkin USB Serial Adapter F5U103
293 Single port DB-9/PS-2 serial adapter from Belkin with firmware by eTEK Labs.
294 The Peracom single port serial adapter also works with this driver, as
295 well as the GoHubs adapter.
297 Current status:
298 The following have been tested and work:
299 Baud rate 300-230400
300 Data bits 5-8
301 Stop bits 1-2
302 Parity N,E,O,M,S
303 Handshake None, Software (XON/XOFF), Hardware (CTSRTS,CTSDTR)*
304 Break Set and clear
305 Line contrl Input/Output query and control **
307 * Hardware input flow control is only enabled for firmware
308 levels above 2.06. Read source code comments describing Belkin
309 firmware errata. Hardware output flow control is working for all
310 firmware versions.
311 ** Queries of inputs (CTS,DSR,CD,RI) show the last
312 reported state. Queries of outputs (DTR,RTS) show the last
313 requested state and may not reflect current state as set by
314 automatic hardware flow control.
316 TO DO List:
317 -- Add true modem contol line query capability. Currently tracks the
318 states reported by the interrupt and the states requested.
319 -- Add error reporting back to application for UART error conditions.
320 -- Add support for flush ioctls.
321 -- Add everything else that is missing :)
323 For any questions or problems with this driver, please contact William
324 Greathouse at wgreathouse@smva.com
327 Empeg empeg-car Mark I/II Driver
329 This is an experimental driver to provide connectivity support for the
330 client synchronization tools for an Empeg empeg-car mp3 player.
332 Tips:
333 * Don't forget to create the device nodes for ttyUSB{0,1,2,...}
334 * modprobe empeg (modprobe is your friend)
335 * emptool --usb /dev/ttyUSB0 (or whatever you named your device node)
337 For any questions or problems with this driver, please contact Gary
338 Brubaker at xavyer@ix.netcom.com
341 MCT USB Single Port Serial Adapter U232
343 This driver is for the MCT USB-RS232 Converter (25 pin, Model No.
344 U232-P25) from Magic Control Technology Corp. (there is also a 9 pin
345 Model No. U232-P9). More information about this device can be found at
346 the manufacture's web-site: http://www.mct.com.tw.
348 The driver is generally working, though it still needs some more testing.
349 It is derived from the Belkin USB Serial Adapter F5U103 driver and its
350 TODO list is valid for this driver as well.
352 This driver has also been found to work for other products, which have
353 the same Vendor ID but different Product IDs. Sitecom's U232-P25 serial
354 converter uses Product ID 0x230 and Vendor ID 0x711 and works with this
355 driver. Also, D-Link's DU-H3SP USB BAY also works with this driver.
357 For any questions or problems with this driver, please contact Wolfgang
358 Grandegger at wolfgang@ces.ch
361 Inside Out Networks Edgeport Driver
363 This driver supports all devices made by Inside Out Networks, specifically
364 the following models:
365 Edgeport/4
366 Rapidport/4
367 Edgeport/4t
368 Edgeport/2
369 Edgeport/4i
370 Edgeport/2i
371 Edgeport/421
372 Edgeport/21
373 Edgeport/8
374 Edgeport/8 Dual
375 Edgeport/2D8
376 Edgeport/4D8
377 Edgeport/8i
378 Edgeport/2 DIN
379 Edgeport/4 DIN
380 Edgeport/16 Dual
382 For any questions or problems with this driver, please contact Greg
383 Kroah-Hartman at greg@kroah.com
386 REINER SCT cyberJack pinpad/e-com USB chipcard reader
388 Interface to ISO 7816 compatible contactbased chipcards, e.g. GSM SIMs.
390 Current status:
391 This is the kernel part of the driver for this USB card reader.
392 There is also a user part for a CT-API driver available. A site
393 for downloading is TBA. For now, you can request it from the
394 maintainer (linux-usb@sii.li).
396 For any questions or problems with this driver, please contact
397 linux-usb@sii.li
400 Prolific PL2303 Driver
402 This driver supports any device that has the PL2303 chip from Prolific
403 in it. This includes a number of single port USB to serial
404 converters and USB GPS devices. Devices from Aten (the UC-232) and
405 IO-Data work with this driver, as does the DCU-11 mobile-phone cable.
407 For any questions or problems with this driver, please contact Greg
408 Kroah-Hartman at greg@kroah.com
411 KL5KUSB105 chipset / PalmConnect USB single-port adapter
413 Current status:
414 The driver was put together by looking at the usb bus transactions
415 done by Palm's driver under Windows, so a lot of functionality is
416 still missing. Notably, serial ioctls are sometimes faked or not yet
417 implemented. Support for finding out about DSR and CTS line status is
418 however implemented (though not nicely), so your favorite autopilot(1)
419 and pilot-manager -daemon calls will work. Baud rates up to 115200
420 are supported, but handshaking (software or hardware) is not, which is
421 why it is wise to cut down on the rate used is wise for large
422 transfers until this is settled.
424 Options supported:
425 If this driver is compiled as a module you can pass the following
426 options to it:
427 debug - extra verbose debugging info
428 (default: 0; nonzero enables)
429 use_lowlatency - use low_latency flag to speed up tty layer
430 when reading from from the device.
431 (default: 0; nonzero enables)
433 See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
434 information on this driver.
437 Generic Serial driver
439 If your device is not one of the above listed devices, compatible with
440 the above models, you can try out the "generic" interface. This
441 interface does not provide any type of control messages sent to the
442 device, and does not support any kind of device flow control. All that
443 is required of your device is that it has at least one bulk in endpoint,
444 or one bulk out endpoint.
446 To enable the generic driver to recognize your device, build the driver
447 as a module and load it by the following invocation:
448 insmod usbserial vendor=0x#### product=0x####
449 where the #### is replaced with the hex representation of your device's
450 vendor id and product id.
452 This driver has been successfully used to connect to the NetChip USB
453 development board, providing a way to develop USB firmware without
454 having to write a custom driver.
456 For any questions or problems with this driver, please contact Greg
457 Kroah-Hartman at greg@kroah.com
462 If anyone has any problems using these drivers, with any of the above
463 specified products, please contact the specific driver's author listed
464 above, or join the Linux-USB mailing list (information on joining the
465 mailing list, as well as a link to its searchable archive is at
466 http://www.linux-usb.org/ )
469 Greg Kroah-Hartman
470 greg@kroah.com