Sony xperia sola's compat wireless drivers location - location

Where are the compat wireless drivers located at my phone? (xperia sola ICS - 6.1.1.B.1.54). When I search for .ko files, all I find are some drivers for other modules of the phone, I can't find nowhere compat wireless drivers (eg cfg80211.ko, mac80211.ko). I know they are somewhere there, as when I downloaded the source of 6.1.1.B.1.54 firmware I could find them.
Can anyone help me?

The cfg80211 and mack80211 are built natiely into kernel rather than external modules.
I check kumquat's defconfig :
CONFIG_CFG80211=y
CONFIG_MAC80211=y
I think you're looking for CW1200 module.
:)

Related

How does windows associate a device with a driver?

Currently I study the Microsoft Documentation about drivers.
The are plenty of examples in the documentaion but there is something that is not very clear. When you develope a driver for a piece of hardware you must set an entry point and and a callback for when the device is pluged in, but you dont have to specify an identifier for your device.
How does Windows know that this specific driver is for my hardware?
Does the INF files that are generated with the .sys file contain that information?

Writing a UMDF virtual device driver (or software device) like Virtual DVD

I have an "off the shelf" commercial software using an ANT USB dongle to communicate with a cycling trainer.
My trainer is not compatible with the software because the protocol is slightly different (not a lot).
My goal is to write a protocol translator. The only thing I can think of is to write a UMDF virtual device driver (like Magic ISO Virtual DVD) looking like an ANT USB Device in the device manager (same PID\VID) while connecting itself to the physical ANT device. The virtual device driver will perform the protocol translation.
I looked at several examples from Microsoft here https://github.com/Microsoft/Windows-driver-samples but I was unable to find anything relevant. I thought this example would be a good start https://github.com/Microsoft/Windows-driver-samples-master/Sensors/CustomSensors but it is impossible to load the driver using the given procedure from the inf file.
BTW I am familiar with the content of INF files and the basics of KMDF & UMDF device drivers programming. My problem is to write something that will load in the device manager and present itself as a real USB device even if it is not enumerated by the USB bus subsystem.
Can anybody with driver development experience point me to some relevant code sample or documentation?
Best regards !
I am currently developing a UMDF CCID (smartcard reader) driver. This project helped me at the beginning because it compiles out of the box and creates virtual device nodes (smartcard readers) visible in the device manager.

Is it possible to override a driver that has been compiled into the kernel?

I have a USB device for which I have an API. This API only works if the USB device doesn't use the ftdi_sio/usbserial drivers.
On my laptop, if I plug the USB device in, these drivers get loaded (as modules) and I have to unload them using modprobe -r after which code using the API can see the device.
I have another device which experiences the same issue although no modules are loaded so I'm guessing these drivers are compiled into the kernel. My question is this - is there any way to stop this device from using these drivers or do I have to recompile the kernel, etc?
Thanks for any help!
You are essentially looking for a way to :
unbind the default driver from your USB device
and
bind a driver of your choice to it.
Take a quick look at this to get you started.
A slightly more detailed description of the same is available in this excellent LWN article of (un)binding device drivers.

Add device driver to Windows CE 6.0 through Platform Builder

I'm trying to add a device driver to a Windows CE 6.0 image that I'm creating through Platform Builder.
The driver in question, for the VIA 6656 chipset (used in many USB Wi-Fi adapters/dongles), is available in the manufacturer's website and consists of several files: .PDB, .REG, .BIB, .DLL, .MAP and .REL.
I understand that the REG file must be imported in my OSDesign.reg, the BIB file to my OSDesign.bib and the DLL must be placed in the /Windows folder of my image. What I don't understand is what to do with the remaining files (PDB, MAP and REL).
Could anyone assist me in this matter?
Thank you in advance!
For inclusion into the OS, you need only the REG, BIB and DLL. The remaining files contain debugging symbols, linker information and the like, presumably in case you have an error and want to debug it. It's odd that you get these, but no source code. sStill, for including in your OS for use, they're not relevant.

How can I make a custom USB device show up in Windows as a COM Port?

I have developed a USB device that communicates with linux over a simple but proprietary interface and some custom Linux drivers. My goal is to port this to Windows without writing windows drivers. What I would like to do is find an open source or inbuilt class driver for windows that would look like a COM port in Windows. Then I would tailor the embedded software to match what ever protocol and descriptors the virtual COM port expects to see.
The idea would be that I could plug my device in to a Windows machine and a relatively high speed COM port would appear with out me having to develop Windows drivers for it.
I have been looking at the USB CDC (Communications Device Class) documentation and it looks promising, but I don't know which sub interface would be best to use so that it would show up as a COM port.
Has anyone here done any work like this before or could provide some insight?
Specifically:
Are there virtual COM drivers "built in" to windows or would I need a 3rd party driver.
Which CDC sub class should I use for simple RS232 emulation (No need for modem AT commands, etc)
Is there a better option to do what I am trying to do.
Thanks
There is a USB-to-serial driver built in to Windows that will do what you want. It is called usbser.sys:
http://support.microsoft.com/kb/837637
You will have to write an INF file and distribute that to your users, but that will not be too hard because it is only a few kilobytes of text and you can find examples online.
I'm not aware of any great documentation for this driver by Microsoft, so my advice would be to find some other device that uses it, such as Pololu Wixel, and copy what they did.
Here are the device descriptors we used and the special control tranfers we had to implement:
https://github.com/pololu/wixel-sdk/blob/master/libraries/src/usb_cdc_acm/usb_cdc_acm.c
You can see our INF file, wixel_serial.inf, by downloading the software and looking in the drivers folder:
http://www.pololu.com/docs/0J46/3.a
(There are other files in there that are not necessary for you.)
You can also look at the Arduino Uno because they use the same driver.
Whatever you do, please don't use our USB Vendor ID in your product! You need to get your own.
Update: In Windows 10, you don't need an INF file anymore because of the new usbser.inf driver that comes with Windows.
If you are using a UART you can easily interface it to a FTDI USB chip like http://www.ftdichip.com/Products/ICs/FT232R.htm or a Prolific like http://www.prolific.com.tw/eng/products.asp?id=59
For development, prototype and testing I have half dozen of these laying around http://www.pololu.com/catalog/product/391
I connect it directly to the UART pins on AVR and 8051 micros.

Resources