Add CDC-Ethernet usb NIC (original patch from Thomas Sailer).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4884 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e6bf7d70b5
commit
6c9f886cea
3
Makefile
3
Makefile
@ -60,7 +60,8 @@ OBJS+=ssd0303.o ssd0323.o ads7846.o stellaris_input.o twl92230.o
|
|||||||
OBJS+=tmp105.o lm832x.o
|
OBJS+=tmp105.o lm832x.o
|
||||||
OBJS+=scsi-disk.o cdrom.o
|
OBJS+=scsi-disk.o cdrom.o
|
||||||
OBJS+=scsi-generic.o
|
OBJS+=scsi-generic.o
|
||||||
OBJS+=usb.o usb-hub.o usb-linux.o usb-hid.o usb-msd.o usb-wacom.o usb-serial.o
|
OBJS+=usb.o usb-hub.o usb-linux.o usb-hid.o usb-msd.o usb-wacom.o
|
||||||
|
OBJS+=usb-serial.o usb-net.o
|
||||||
OBJS+=sd.o ssi-sd.o
|
OBJS+=sd.o ssi-sd.o
|
||||||
|
|
||||||
ifdef CONFIG_BRLAPI
|
ifdef CONFIG_BRLAPI
|
||||||
|
1470
hw/usb-net.c
Normal file
1470
hw/usb-net.c
Normal file
File diff suppressed because it is too large
Load Diff
3
hw/usb.h
3
hw/usb.h
@ -219,6 +219,9 @@ USBDevice *usb_keyboard_init(void);
|
|||||||
/* usb-msd.c */
|
/* usb-msd.c */
|
||||||
USBDevice *usb_msd_init(const char *filename);
|
USBDevice *usb_msd_init(const char *filename);
|
||||||
|
|
||||||
|
/* usb-net.c */
|
||||||
|
USBDevice *usb_net_init(NICInfo *nd);
|
||||||
|
|
||||||
/* usb-wacom.c */
|
/* usb-wacom.c */
|
||||||
USBDevice *usb_wacom_init(void);
|
USBDevice *usb_wacom_init(void);
|
||||||
|
|
||||||
|
@ -567,6 +567,9 @@ available devices.
|
|||||||
Braille device. This will use BrlAPI to display the braille output on a real
|
Braille device. This will use BrlAPI to display the braille output on a real
|
||||||
or fake device.
|
or fake device.
|
||||||
|
|
||||||
|
@item net:nic_num
|
||||||
|
Network adapter that supports CDC ethernet and RNDIS protocols.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
@ -584,7 +587,7 @@ Qemu can emulate several different models of network card.
|
|||||||
Valid values for @var{type} are
|
Valid values for @var{type} are
|
||||||
@code{i82551}, @code{i82557b}, @code{i82559er},
|
@code{i82551}, @code{i82557b}, @code{i82559er},
|
||||||
@code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
|
@code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
|
||||||
@code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}.
|
@code{e1000}, @code{smc91c111}, @code{lance}, @code{mcf_fec} and @code{usb}.
|
||||||
Not all devices are supported on all targets. Use -net nic,model=?
|
Not all devices are supported on all targets. Use -net nic,model=?
|
||||||
for a list of available devices for your target.
|
for a list of available devices for your target.
|
||||||
|
|
||||||
@ -1707,6 +1710,16 @@ serial converter, faking a Matrix Orbital LCD Display (USB ID 0403:FA00).
|
|||||||
@item braille
|
@item braille
|
||||||
Braille device. This will use BrlAPI to display the braille output on a real
|
Braille device. This will use BrlAPI to display the braille output on a real
|
||||||
or fake device.
|
or fake device.
|
||||||
|
@item net:@var{nic_num}
|
||||||
|
Network adapter that supports CDC ethernet and RNDIS protocols. This must be
|
||||||
|
used together with the @code{-net nic,model=usb,...} option (see description),
|
||||||
|
where @var{nic_num} specifies the index of the @code{-net nic,...} option
|
||||||
|
describing the interface (zero-based).
|
||||||
|
For instance, user-mode networking can be used by specifying
|
||||||
|
@example
|
||||||
|
qemu -net user,vlan=1 -net nic,model=usb,vlan=1 -usbdevice net:0 [...OPTIONS...]
|
||||||
|
@end example
|
||||||
|
Currently this cannot be used in machines that support PCI NICs.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node host_usb_devices
|
@node host_usb_devices
|
||||||
|
6
vl.c
6
vl.c
@ -5475,6 +5475,12 @@ static int usb_device_add(const char *devname)
|
|||||||
} else if (!strcmp(devname, "braille")) {
|
} else if (!strcmp(devname, "braille")) {
|
||||||
dev = usb_baum_init();
|
dev = usb_baum_init();
|
||||||
#endif
|
#endif
|
||||||
|
} else if (strstart(devname, "net:", &p)) {
|
||||||
|
int nicidx = strtoul(p, NULL, 0);
|
||||||
|
|
||||||
|
if (nicidx >= nb_nics || strcmp(nd_table[nicidx].model, "usb"))
|
||||||
|
return -1;
|
||||||
|
dev = usb_net_init(&nd_table[nicidx]);
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user