| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AX88772 controllers. ASIX added a new feature for AX88178/AX88772
controllers which allows combining multiple TX frames into a single
big frame. This was to overcome one of USB limitation where it
can't generate more than 8k interrupts/sec which in turn means USB
ethernet controllers can not send more than 8k packets per second.
Using ASIX's feature greatly enhanced TX performance(more than 3~4
times) compared to 7.x driver. However it seems r184610 removed
boundary checking for buffered frames which in turn caused
instability issues under certain conditions. In addition, using
ASIX's feature triggered another issue which made USB controller
hang under certain conditions. Restarting ethernet controller
didn't help under this hang condition and unplugging and replugging
the controller was the only solution. I believe there is a silicon
bug in TX frame combining feature on AX88178/AX88772 controllers.
To address these issues, reintroduce the boundary checking for both
AX88178 and AX88772 after copying a frame to USB buffer and do not
use ASIX's multiple frame combining feature. Instead, use USB
controller's multi-frame transmit capability to enhance TX
performance as suggested by Hans[1].
This should fix a long standing axe(4) instability issues reported
on AX88772 and AX88178 controllers. While I'm here remove
unnecessary TX frame length check since upper stack always
guarantee the size of a frame to be less than MCLBYTES.
Special thanks to Derrick Brashear who tried numerous patches
during last 4 months and waited real fix with patience. Without
this enthusiastic support, patience and H/W donation I couldn't fix
it since I was not able to trigger the issue on my box.
Suggested by: hselasky [1]
Tested by: Derrick Brashear (shadow <> gmail dot com>
H/W donated by: Derrick Brashear (shadow <> gmail dot com>
PR: usb/140883
|
|
|
|
|
|
|
|
|
| |
isn't configurable in a meaningful way. This is for ifconfig(8) or
other tools not to change code whenever IFT_USB-like interfaces are
registered at the interface list.
Reviewed by: brooks
No objections: gavin, jkim
|
|
|
|
|
|
|
|
| |
This change can fix some USB error messages showing up
during bootup.
MFC after: 3 days
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
|
|
|
| |
or detached. Normally it should be changed through user land ioctl(2)
system calls but it looks there's no apps for USB and no need.
With this patch, libpcap would detect the usbus interfaces correctly and
tcpdump(1) could dump the USB packets into PCAP format with -w option.
However it couldn't print the output to console because there's no
printer-routine at tcpdump(1).
|
|
|
|
|
|
|
|
|
|
|
| |
hence existing applications like webcamd are expecting that.
This problem was introduced by SVN change 214221 where cdev=
was replaced by ugen= by accident. Solve this problem by
redefining cdev= in devd notifications.
MFC after 3 days.
Approved by: thompsa (mentor)
|
|
|
|
|
|
| |
Buffalo (Melco Inc.) WLI-UC-G
PR: 141777
|
|
|
|
|
|
| |
PR: usb/151862
Submitted by: Alessandro de Manzano <demanzano dqmicro.it>
MFC after: 1 week
|
|
|
|
| |
H/W donated by: Derrick Brashear (shadow <> gmail dot com)
|
|
|
|
|
| |
AX88772A and AX88772B for future extension. While here add TX
buffer size for 178 family controllers.
|
|
|
|
|
| |
that require special configuration from EEPROM. This will put
controllers into known sane state.
|
| |
|
| |
|
| |
|
|
|
|
| |
While I'm here show selected phymode to ease of debugging.
|
| |
|
|
|
|
|
|
|
|
| |
(wrong unit number for a host controller) when the module is load /
unloaded repeatly. Attaching the USB pf is moved to usbus device's
attach.
Pointed by: yongari
|
|
|
|
|
| |
because it could differ depending on the host controller type. It could
lead the duplicate unit number assignment.
|
|
|
|
| |
Pointy hat to: me
|
|
|
|
|
|
|
| |
take all benefits whenever BPF code is improved.
Pointed by: jkim
Reviewed by: thompsa
|
|
|
|
|
|
|
| |
didn't destroy the cdev properly.
Pointy hat to: me
Reported by: Brandon Gooch <jamesbrandongooch at gmail dot com>, jkim
|
|
|
|
|
|
|
|
| |
Shorten the descriptive strings for Huawei devices. The vendor or
operator name should not be included in the device name.
Submitted by: Emile Coetzee
MFC after: 3 days
|
|
|
|
|
|
|
|
|
| |
packets which go through each USB host controllers. Its implementations
are almost based on BPF code and very similar with it except it's
little bit customized for USB packet only. The userland program
usbdump(8) would be committed soon.
Discussed with: hps, thompsa, yongari
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
K3765 datacard. After ejecting this device, it reappears using
the normal K3765 ID. It does not switch automatically
Reviewed by: n_hibma
Obtained from: OpenBSD
MFC after: 2 weeks
|
|
|
|
|
| |
It speaks AT commands on 2 out of 3 serial ports, but it has not been
verified to work at all speaking PPP yet.
|
|
|
|
|
| |
Submitted by: Alexander Best (arundel)
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
| |
and updated comments in the usb_quirk.h header file.
The main purpose of this is to expose the quirks for ejecting 3G
modules. usb_modeswitch in Linux does a great job of collecting
information on these, and with the quirks module people can try out the
modeswitch config file entries on FreeBSD, hence the SCSI strings in the
man page.
MFC after: 2 weeks
|
|
|
|
| |
drive eject methods before supplying patches.
|
|
|
|
|
|
| |
This would cause a panic when disconnecting the second serial device.
Submitted by: Lucius Windschuh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if
a driver calls ieee80211_ratectl_init() check if the NONE algo is still
selected and try to use AMRR in that case. Drivers are still free to use
any other algo by calling ieee80211_ratectl_set() prior to the
ieee80211_ratectl_init() call.
After this change it is now safe to assume that a ratectl algo is always
available and selected, which renders the IEEE80211_C_RATECTL flag pretty
much useless. Therefore revert r211314 and 211546.
Reviewed by: rpaulo
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
based devices (QUALCOMMINC 0x2000). He made it use SCSI eject instead of
ZTE STOR eject. This prevented my ZTE MF626 dongle from switching.
- Apply both eject methods for ZTE STOR based devices. Works on my as
well as mav's device.
- Remove the duplicate.
- Sort the usbdevs entries for Qualcomm so this won't happen again.
- Add bootverbose message displaying the fact that we are ejecting (and
how).
Reviewed by: mav
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
information through devd. My E220 now produces the notification (1 line):
+u3g0 at bus=1 hubaddr=1 port=0 devaddr=2 interface=0 \
vendor=0x12d1 product=0x1003 devclass=0x00 devsubclass=0x00 \
sernum="" release=0x0000 intclass=0xff intsubclass=0xff \
ttyname=U0 ttyports=2 on uhub0
Note: serial/ufoma and net/uhso still provide port number and tty name
(uhso only) information through sysctls, which should now be removed.
Reviewed by: hpselasky
|
|
|
|
|
|
|
| |
- Fix the loop count on detach (causing a panic on detaching a serial
dongle).
- Increase a buffer in case some driver want extra long tty device names
(postfixing the purpose of the tty for example, e.g. u3g.ppp).
|
|
|
|
|
|
|
|
|
| |
notification. devd would stop evaluating at 'at' (not '<k>=<v>') and
hence prevent 'port=X' (and 'bus=<"on" string>) from making it into the
environment for the devd action.
Reviewed by: hselasky
MFC after: 2 weeks
|
|
|
|
| |
usb_device.c:devctl_notify_f().
|
|
|
|
| |
Approved by: thompsa (mentor)
|
|
|
|
|
| |
Submitted by: Dmitry Luhtionov
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- hw.usb.ucom.cons_unit is now split into
hw.usb.ucom.cons_unit/...cons_subunit.
Note: The tunable/sysctl hw.usb.ucom.cons_unit needs to be reviewed if
a) a console was defined a USB serial devices, and a USB device with
more than 1 subunit is present, and this device is attached before the
device functioning as a console
or
b) a console was defined on a USB device with more than 1 subunit
Reviewed by: hps
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
options USB_VERBOSE
Submitted by: Lucius Windschuh
Approved by: thompsa (mentor)
|
|
|
|
|
| |
Submitted by: Nick Hibma
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
| |
within the first 4 bytes of the EHCI memory space. For controllers that
use big-endian MMIO, reading them with 1- and 2-byte reads would then
return the wrong values. Instead, read the combined register with a 4-byte
read and mask out the interesting quantities.
|
|
|
|
|
| |
Submitted by: Nick Hibma
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
|
|
|
|
|
| |
important for USB 2.0 devices and some of them reported to have problems
with large transactions. But USB 3.0 benchmarks show that limited number
of transactions per second on USB makes impossible to reach high transfer
speeds without using bigger transactions.
On my tests this change allows to read up to 220MB/s from USB-attached SSD
(at block size of 256-512KB), comparing to only 113MB/s without it.
Reviewed by: hselasky
|
|
|
|
|
|
|
| |
introduced in r213878 instead of mii_phy_probe(). Unlike r213893 these
are only straight forward conversions though.
Reviewed by: yongari
|
|
|
|
|
| |
PR: usb/151043
Approved by: thompsa (mentor)
|
|
|
|
|
|
|
|
| |
- Add more USB mass storage quirks.
Submitted by: Dmitry Luhtionov
PR: usb/149934, usb/143045
Approved by: thompsa (mentor)
|
|
|
|
|
|
| |
Submitted by: Nick Hibma
PR: usb/149900
Approved by: thompsa (mentor)
|
|
|
|
|
| |
PR: usb/149675
Approved by: thompsa (mentor)
|