(struct ohci hcd *ohci);3 USB Device Driver3.1 USB device drives the overall structureThe following device classes are available
Audio Device class.
Communication Equipment class.
HID (Human-machine interface) device class.
Displays the device class.
Mass storage device class.
Power Device
the transmission is completed within a specific time range. If there is not enough space on the bus to send the entire bulk package, it is divided into multiple packages for transmission. These endpoints are generally used on printers, USB mass storage, and USB network devices.
IsochronousThe endpoint also transmits a
To do USB-related things in wince, we must first understand some concepts, which is very important.
(1) host and FunctionFirst, you must know that the USB is a master-slave structure. For PCs and mobile phones, the PC end is the master end, called the host, and the mobile phone is the slave end, usually called the client. However, this term has changed in wince. The master end is also called host, while the
transmission is completed within a specific time frame. If there is not enough space on the bus to send the entire bulk packet, it is divided into multiple packets for transmission. These endpoints are commonly used on printers, USB Mass storage, and USB network devices.
Wait-time isochronousThe endpoint also transmit
, tasklet, or a timer callback function. 2. the caller holds the spin lock or read/write lock. note that this value is unnecessary if a semaphore is being held. 3. current-> state is not task_running. unless the driver has changed the current status, the status should always be task_running. the gfp_noio driver is in block I/O processing. it should also be used for error handling of all
one. When you open a device file, the operating system knows the driver corresponding to the device.
SCSI Device
SCSI is a standard computer interface different from IDE. Nowadays, most flat-board scanners, CD-R recorders, MO optical transceiver and so on gradually tend to use the SCSI interface, coupled with SCSI and can provide a high-speed transmission channel, so, access to SCSI devices more and more users. Linux supports many SCSI devices, such
learn ce, for example.
The USB folder is divided into several folders, including class, clients, common, HCD, Inc, and usbd. the INC and common folders have a lock. C program, this program is obviously a lock to be used by other USB-related drivers, the code is very simple, just an encapsulation body similar to the critical section, it can protect the read/write access of multiple threads to the same memo
. It will help you test through a USB-IF.
Ethernet Over USB: This driver simulates an Ethernet network port and supports multiple operating modes:
CDC Ethernet: communication device Class "Ethernet model" Protocol specified by USB specifications.
CDC subset: a method that has the lowest hardware requirements. It is mai
, for example.
The USB folder is divided into several folders, including class, clients, common, HCD, Inc, and usbd. the INC and common folders have a lock. C program, this program is obviously a lock to be used by other USB-related drivers, the code is very simple, just an encapsulation body similar to the critical section, it can protect the read/write access of multiple threads to the same memory area. T
The mobile phone can be connected to the computer for file transfer according to the steps described below:
1. Disconnect the USB cable from the phone and return to the phone standby mode, click "Function table".
2. Select "Set".
3. Select "Connect".
4. Select "USB connection".
5. Click on "Mass
1. Role of the wince Device
USB is a master-slave structure, which is divided into the master end and the slave end. Generally, the master end is called the host and the slave end is called the client, but there are some differences in the wince system. The master end is called the host and the slave end is called the function.For USB, embedded devices equipped with Wince can assume three different roles: H
)************************************************Second, the problem of the solution1, the problem of hard disk or systemThink it is the previous soft raid impact, change the hard disk, or so, it is not the problem of hard disk. It must be the motherboard setup problem. The last send should be motherboard HDD mode is not correct: drive compatibility mode! 2003 SATA HDD not recognized! SATA drivers need to be loaded. I'll take a trip. All right, what a toss. Change the hard drive mode: Change to
; lpistransfercomplete) (m_hinterrupttransfer ))
{
If (! Handleinterrupt ())
Break;
}
Else
{
Retailmsg (1, (text ("! Usbmouse: event signalled, but transfer not complete/R/N ")));
// The only time this shoshould happen is if we get an error on the transfer
Assert (m_fclosing | (m_hinterrupttransfer = NULL ));
Break;
}
}
}
Retailmsg (1, (text ("usbmouse: worker thread exiting/R/N ")));
Return (0 );
}
See no, in fact, the USB
other half. On the contrary, whenever one structdevice_driver is born, it goes to the devices linked list of the bus to find its devices. If appropriate, call device_bind_driver to bind the device. If it cannot be found, it does not matter. wait.
In fact, perfecting this triangular relationship is one of the important missions completed in each device driver initialization phase. Let's go back to the code. the usb_register function is called, but wha
ie32.inf file is automatically deleted when it is detached.
The program disables the control of the USB storage device on a single machine. It uses FileMon RegMon for monitoring and analysis and finds that its basic principle is to modify the key value of the registry, for details, see how to disable USB storage devi
completed in each device driver initialization phase. Let's go back to the code. The usb_register function is called, but what is the parameter passed to it?
We noticed that the code for calling the usb_register function is as follows:
1073/* registerthe driver, return usb_register return code if error */
1074 retval = usb_register ( usb_storage_driver );
Yes, I passed a guy named usb_storage_driver. What
It indicates that any short read that may occur on an in endpoint should be treated as an error by the USB core. this value is only useful for reading urb from a USB device, not for writing URBS.
Urb_iso_asapIf this urb is synchronized, this bit can be set. If the driver wants this urb to be scheduled, as long as the bandwidth permits it, and set the start_frame
and USB core, and then does the appropriate processing.Driver Catalog drivers/usb/*Usb/serial USB Serial device driver (e.g. USB 3G card, Bluetooth, etc.)Usb/
Based on the previously transplanted kernel, we transplanted the drivers separately. This article mainly transplanted the USB driver and clarified the mdev related to hot swapping. In kernel 2.6.30, the USB driver has been improved, you only need to modify the configuration sheet. The added content is as follows:
Devic
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.