Commit Graph

3078 Commits

Author SHA1 Message Date
tnn
8daad4ac39 Fix swedish USB keymap. The apostrophe key was mapped to comma.
(How did this go unnoticed for so many years?)
2009-01-18 12:58:49 +00:00
jmcneill
e90eb84a4b regen for HP Generic RNDIS 2009-01-16 13:31:41 +00:00
jmcneill
3e9c6e548d Add HP Generic RNDIS ID 2009-01-16 13:31:01 +00:00
cegger
8c2b3a39bc make this compile 2009-01-11 10:58:26 +00:00
cegger
378bd0b618 make this compile 2009-01-11 10:47:37 +00:00
jakllsch
02513c1f9c Correct license. I have not formally contributed this to TNF.
However, ugensa.c was, so restore that licencse and append mine.

Also, use UT_*_VENDOR_INTERFACE instead of local defines of the same thing.
No functional change.
2009-01-05 17:22:18 +00:00
yamt
b1fea83762 remove extra semicolons. 2009-01-03 03:43:21 +00:00
jmorse
b400d28c38 Fix UVC webcam output by:
- Storing updated video format after user changes format
- Round up number of xfers queued to multiple of 8, due to ehci inefficiencies
- Remove random debugging line I slipped in earlier
2008-12-23 03:22:29 +00:00
christos
9a5d3f2817 replace bitmask_snprintf(9) with snprintb(3) 2008-12-16 22:35:21 +00:00
tonnerre
3fd167219b Remove { 0, 0 } from the list of u3g devices. This entry is no longer
required in modern device lists due to sizeof() tricks. However, keeping
it makes u3g attach to HP ServerWorks mice and keyboards.
2008-12-12 07:49:46 +00:00
jmorse
beb501f394 PR#39651
Fix two problems in umass:
 * usb xfers being freed before being removed from pipe, leading to null deref
 * config_activate requests not supported, which leads to config_deactivate requests not being passed through. Spotted by jmcneill@

Added mechanism to usbdi allowing the default pipe to be aborted
2008-12-12 05:35:11 +00:00
jmcneill
61d5be8fc7 Don't select an endpoint with a larger packet size than the maximum for
the current video stream.
2008-11-28 23:31:11 +00:00
jmorse
4f7247f185 Modified uvideo_stream_init_desc to correctly calculate max packet size for high speed endpoints. 2008-11-28 17:20:02 +00:00
jmorse
3ce0341c47 Fixed high-speed isoc USB transfers, 64 bit capable host controllers have a different transfer descriptor to non-capable controllers.
Added dma-sync of data buffer before scheduling transfers
2008-11-28 17:18:21 +00:00
jnemeth
4e826d168f regen for Corega CG-USBRS232R 2008-11-20 10:51:51 +00:00
jnemeth
55a2353845 PR/39971 - SHIMAOKA Shunsuke -- Recognize Corega CG-USBRS232R as a
serial device.
2008-11-20 10:50:42 +00:00
dyoung
de87fe677d *** Summary ***
When a link-layer address changes (e.g., ifconfig ex0 link
02🇩🇪ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor
Advertisement to update the network-/link-layer address bindings
on our LAN peers.

Refuse a change of ethernet address to the address 00:00:00:00:00:00
or to any multicast/broadcast address.  (Thanks matt@.)

Reorder ifnet ioctl operations so that driver ioctls may inherit
the functions of their "class"---ether_ioctl(), fddi_ioctl(), et
cetera---and the class ioctls may inherit from the generic ioctl,
ifioctl_common(), but both driver- and class-ioctls may override
the generic behavior.  Make network drivers share more code.

Distinguish a "factory" link-layer address from others for the
purposes of both protecting that address from deletion and computing
EUI64.

Return consistent, appropriate error codes from network drivers.

Improve readability.  KNF.

*** Details ***

In if_attach(), always initialize the interface ioctl routine,
ifnet->if_ioctl, if the driver has not already initialized it.
Delete if_ioctl == NULL tests everywhere else, because it cannot
happen.

In the ioctl routines of network interfaces, inherit common ioctl
behaviors by calling either ifioctl_common() or whichever ioctl
routine is appropriate for the class of interface---e.g., ether_ioctl()
for ethernets.

Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR.  In
the user->kernel interface, SIOCSIFADDR's argument was an ifreq,
but on the protocol->ifnet interface, SIOCSIFADDR's argument was
an ifaddr.  That was confusing, and it would work against me as I
make it possible for a network interface to overload most ioctls.
On the protocol->ifnet interface, replace SIOCSIFADDR with
SIOCINITIFADDR.  In ifioctl(), return EPERM if userland tries to
invoke SIOCINITIFADDR.

In ifioctl(), give the interface the first shot at handling most
interface ioctls, and give the protocol the second shot, instead
of the other way around. Finally, let compatibility code (COMPAT_OSOCK)
take a shot.

Pull device initialization out of switch statements under
SIOCINITIFADDR.  For example, pull ..._init() out of any switch
statement that looks like this:

        switch (...->sa_family) {
        case ...:
                ..._init();
                ...
                break;
        ...
        default:
                ..._init();
                ...
                break;
        }

Rewrite many if-else clauses that handle all permutations of IFF_UP
and IFF_RUNNING to use a switch statement,

        switch (x & (IFF_UP|IFF_RUNNING)) {
        case 0:
                ...
                break;
        case IFF_RUNNING:
                ...
                break;
        case IFF_UP:
                ...
                break;
        case IFF_UP|IFF_RUNNING:
                ...
                break;
        }

unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and
#ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).

In ipw(4), remove an if_set_sadl() call that is out of place.

In nfe(4), reuse the jumbo MTU logic in ether_ioctl().

Let ethernets register a callback for setting h/w state such as
promiscuous mode and the multicast filter in accord with a change
in the if_flags: ether_set_ifflags_cb() registers a callback that
returns ENETRESET if the caller should reset the ethernet by calling
if_init(), 0 on success, != 0 on failure.  Pull common code from
ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(),
and register if_flags callbacks for those drivers.

Return ENOTTY instead of EINVAL for inappropriate ioctls.  In
zyd(4), use ENXIO instead of ENOTTY to indicate that the device is
not any longer attached.

Add to if_set_sadl() a boolean 'factory' argument that indicates
whether a link-layer address was assigned by the factory or some
other source.  In a comment, recommend using the factory address
for generating an EUI64, and update in6_get_hw_ifid() to prefer a
factory address to any other link-layer address.

Add a routing message, RTM_LLINFO_UPD, that tells protocols to
update the binding of network-layer addresses to link-layer addresses.
Implement this message in IPv4 and IPv6 by sending a gratuitous
ARP or a neighbor advertisement, respectively.  Generate RTM_LLINFO_UPD
messages on a change of an interface's link-layer address.

In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address
that is broadcast/multicast or equal to 00:00:00:00:00:00.

Make ether_ioctl() call ifioctl_common() to handle ioctls that it
does not understand.

In gif(4), initialize if_softc and use it, instead of assuming that
the gif_softc and ifp overlap.

Let ifioctl_common() handle SIOCGIFADDR.

Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels
that certain invariants on a struct route are satisfied.

In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit
about the ioctls that we do not allow on an agr(4) member interface.

bzero -> memset.  Delete unnecessary casts to void *.  Use
sockaddr_in_init() and sockaddr_in6_init().  Compare pointers with
NULL instead of "testing truth".  Replace some instances of (type
*)0 with NULL.  Change some K&R prototypes to ANSI C, and join
lines.
2008-11-07 00:20:01 +00:00
joerg
71e504882f Remove E220 quirk -- u3g(4) does implement that directly. 2008-10-27 21:46:43 +00:00
christos
e8d515e422 regen. 2008-10-25 17:37:31 +00:00
christos
b311f98821 The Sierra Wireless USBConnect 881 card presents itself as umass containing
the driver to be installed for it. We don't need this crap. Tell it to become
a modem.
2008-10-25 17:35:44 +00:00
cegger
f982353b74 regen. (how is it possible to have conflicts in the repo in a generated file?) 2008-10-22 12:10:48 +00:00
haad
543e3d0539 Add HL-340 usb2Serial addapter. 2008-10-22 10:35:50 +00:00
haad
b392ebc9c0 I forgot to commit this after regen. 2008-10-22 10:33:20 +00:00
haad
27418aa546 Regen. 2008-10-22 10:27:28 +00:00
haad
49e162a888 Add product/vendor ID for my USB2serial adapter. 2008-10-22 10:23:51 +00:00
jun
3caafa9653 Add
corega K.K CG-WLUSB2GPX
2008-10-21 12:20:44 +00:00
apb
96230fab84 Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
2008-10-19 22:05:19 +00:00
joerg
7e64fc36e4 Remove two devices that are handled by ubsa and might need special
handling from u3g until further reports. Move a number of data cards
from ugensa to u3g based on the FreeBSD list.
2008-10-19 11:40:02 +00:00
joerg
5519d99b9a Regen. 2008-10-19 11:37:44 +00:00
joerg
74069cabed Sync list of 3G cards with FreeBSD. 2008-10-19 11:36:11 +00:00
joerg
f48b5b12a3 Make u3g send an eject command to Novatel MC950D devices. Explicitly
attach as device for umass mode on MC950D and the Huawei devices to
supersede the umass quirk.
2008-10-18 09:43:44 +00:00
wrstuden
fc7511b00e Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
jmcneill
e2728f33e6 ehci_dump_itd and _sitd are unused 2008-10-14 18:32:53 +00:00
jmcneill
b8aea8193c kern/39727: race condition in ehci isoc abort xfer path
From Jeremy Morse:

  * Serialize access to the ehci intrlist.
  * Change the ehci intrlist to a tailq so xfers are not queued out of order.
  * In ehci_check_itd_intr, don't treat a transfer error as an indication
    that the xfer is no longer active.
2008-10-14 18:12:38 +00:00
is
93d402c342 Load firmware from .../firmware/stuirda, not ../uirda, to avoid confusion. 2008-10-13 10:01:24 +00:00
jmcneill
c93dbbaca8 Revert previous. 2008-10-11 13:56:51 +00:00
jmcneill
55c0ca3b69 ehci_check_itd_intr: correct logic for checking for active itds 2008-10-11 05:17:12 +00:00
jmcneill
5b4aed5dc9 If we're not dealing with an interrupt endpoint, invoke the xfer's
callback after calling the xfer's done method to give the device driver
a change to reschedule the same xfer, from FreeBSD.
2008-10-11 05:07:20 +00:00
jakllsch
c53df256ca regen 2008-10-10 23:53:19 +00:00
jakllsch
aaa79600f5 add Pinnacle Systems, Inc. and their PCTV HD Pro Stick (800e)
ok jmcneill
2008-10-10 23:50:39 +00:00
jmcneill
14f8dc1c88 regen 2008-10-10 22:49:30 +00:00
jmcneill
13371a99c0 Add ATI/AMD TV Wonder 600 and Empia Technology EM2883 product IDs 2008-10-10 22:28:53 +00:00
joerg
db5825abd5 Add u3g(4) driver from FreeBSD. This driver provides better support for
3G datacards than ugensa and will replace the latter for the supported
devices.
2008-10-10 16:37:15 +00:00
joerg
4c43f08c6f Regen. 2008-10-10 16:30:17 +00:00
joerg
fcc58fbfce Add entries for Vodafone Mobile Connect 3G datacard (from FreeBSD)
and for the Novatel 950D.
2008-10-10 16:29:57 +00:00
jmcneill
04fec95922 ehci_free_itd: use LIST_INSERT_HEAD rather than
LIST_INSERT_AFTER(LIST_FIRST(..), ..) when returning itds to the freelist
to prevent a crash when the freelist is empty. Reviewed by Jeremy Morse.
2008-10-06 02:21:50 +00:00
jmcneill
6c26172841 Fix issue where multi-transaction isoc endpoints were forced to single
transactions, from Jeremy Morse.
2008-10-05 21:31:39 +00:00
wiz
188468ada8 regen. 2008-09-28 15:41:50 +00:00
wiz
e5e4b9c58a Add Zippy Technology Corporation (from www.linux-usb.org/usb.ids). 2008-09-28 15:41:29 +00:00
jmcneill
2941ba2cb6 De-USB_* pseye(4) 2008-09-27 02:47:56 +00:00