Are there any PC camera hardware experts who happen to know if a built-in (intergrated) camera on a PC has any special identifying features , as opposed to an external USB camera?
I'm looking for anything that would help me ascertain for sure that the device is indeed built-in to the PC and was not connected by the user.
I've gone over every device property in the device manager for both kinds of webcams but could not identify anything helpful.
Even something as simple as a USB connection order (maybe the built-in camera would be "connected" first on boot?)
I'm a USB noob so please bear with me...
I don't think that you can do that. On some laptop models, the "internal camera" is in fact wired to an internal usb hub. This is what I realized when I opened my ASUS EEE 901 a few years ago. I am pretty sure this is a common scheme since many camera dev kits come with usb output
Related
I am experiencing lot of troubles detecting BLE devices with a CSR8510 chipset. I don't have much knowledge in bluetooth hardware/stack and osx systems. I made a lot of research to solve my problem but I can't find any information specifically related to my issue.
Here is all the informations about my setup :
The dongle is plugged in a Macbook Pro late 2011 (mavericks). I made all the necessary to make the dongle work :
HCI bootmode
com.apple.bluetooth.plist deletion and reboot
I used Bluetooth Explorer to change the Host Controller (default internal chipset -> CSR8510)
Now the dongle is fully recognized by the system, I can use my Magic Mouse (all functionalities work), but I am not able to detect my BLE chest belt (Runalizer blue).
When I launch a scan with the Device>Low Energy Devices panel in Bluetooth Explorer or the demo app indicated by the belt manufacturer I don't find anything.
Demo app : https://developer.apple.com/library/mac/samplecode/HeartRateMonitor/Introduction/Intro.html
To be fully exhaustive my Xperia SP works perfectly with the belt.
I tried to dig into kernel extensions and I've found in System/Library/IOBluetoothFamily.kext/PlugIns two interesting kext :
CSRBluetoothHostControllerUSBTransport.kextCSRHIDTransitionDriver
I do not know if it is relevant or if it could help me but since they start by "CSR" I thaught that it may be related.
I hope someone can help me. It is bothering me so much because I am not able to do the job I was willing to do (gather data from the belt and statistical processing).
Thanks for your attention.
currently i am using Macbook Pro and Macosx 10.8.2
3 days ago , i bought a DJ controller soon after i realized that that controller hasnt got any buildin sound card.
i connect that device to macbook through usb port.
Everything is fine , i can do my mix using macbook builtin sound card and 5+1 sound system.But the problem is , Most djs do cue which means another sound output needed for their headphones in order to do a smooth transition between sounds.
so i bought a cheap usb sound card.and i plugged my headphone to that.
Mixing software is so dumb that it doesnt have any ability to manage two sound card at the same time.
So i figured out that if i write a virtual sound card driver that has two virtual stereo outputs , I could merge builtin macos sound card and usb sound card into the that virtual driver.
What i 've done so far :
started to read I/O Kit framework.
what i am planning to do:
actually i dont really understand which I/O Kit family to inherit
i may try first to implement PCI family or USB family inheritance to the driver
Another thing is , What i understood so far , in my virtual driver i must clearify device ids and devices' bus adresses in order to forward builtin card to virtual output1 and usb sound card to virtual output 2
any help would be appreciated
just show me the lights , i can drive by myself.
You don't need to write a driver or do any programming at all. Just create an aggregate device using the audio midi setup utility.
http://support.apple.com/kb/HT3956
I build video cameras with a Linux kernel on a TI Davinci dm365 board.
This board supports RNDIS drivers so my camera can be "plug and play" in windows. This is some kind of "Ethernet over USB" network adapter.
Windows load the RNDIS driver usb8023.sys to interact with my hardware.
When I have more than one camera plugged-in, Hell breaks loose and I get a lot of problems, sometimes all my USB ports stop working but most of the time, one of the two cameras stop working.
I've tried importing old drivers, copy usb8023.sys and load a separate driver for each cam with no luck. I've checked and double checked my ip settings.
I downloaded new version of the drivers from Texas Instruments and recompiled everything. I think that the problem was that the gadget pc had OTG (on the go) enabled, which allows it to switch between host and device mode.
It is likely the USB serial numbers for each of the video cameras is identical. Windows in general handles this situation very poorly.
You need to adjust the USB descriptors on each device to be a unique ID.
I'd like to modify a USB driver to send and receive USB data over a network.
Take for example, an iMac and a PC. I have an iPod plugged in to my PC (in NY). I want my iMac (in LA) to recognize the iPod as plugged in to a local USB port and be able to communicate with the iPod.
Forget my qualifications, or lack thereof (I have background in web, iOS apps, I've toyed with Java and C).
Where can I get source code for a USB driver for Windows that I can modify? Mac OS?
Any tips or pointers towards accomplishing my goal would be appreciated as well.
It looks like folks are coming up with something close to what you want. If you do decide to roll your own, the USB driver source you asked for is libusb.
On the Mac OS X end, drivers are built up in a stack. What you want to do should be relatively simple (nothing is really simple in kernel land). You need to create a driver that can communicate over ethernet with the PC and looks like a USB device to the driver matching software. Then everything else will happen automatically.
The source code is available for Apple's USB stack. You should also read about the IOKit API and IOKit device driver guidelines and IOKit fundamentals.
Oh yes and you say you have toyed with Java and C. To write device drivers on OS X, you'll need to learn some C++.
I suggest you to go see USBIP project. This is available on Linux and Windows, but not clear for MAC. If you can get a VHCI-Controller driver installed for MAC, we can kick start USBIP for MAC.
Sounds quite like this product, a bit unsure if theirs works over wide-area networks though.
I have a general idea of how I'd go about it, but not any specifics. Basically, I'd use the platform's driver development kit to write a USB device emulator on the client machine. I'd then add a virtual device to that system called "Networked USB Host", or something similar that maintains an open port to listen for communication from the server and passes it on to your virtual USB device. IIRC, the Windows DDK comes with a USB simulation framework that might be able to help you with this.
On the server, you'd have to hook into the USB subsystem to send raw USB packets to the client machine. libpcap and wireshark have USB capturing facilities for that, but I'm not sure if this works with winpcap and the Windows version of wireshark as well.
EDIT: Look at this for cross-platform USB capture alternatives.
You can buy OSR USB learning kit: https://www.osronline.com/custom.cfm?name=index_fullframeset.cfm&pageURL=https://www.osronline.com/store/index.cfm
This is actually small USB device with known interface. Windows Driver Kit (WDK) contains sample KMDF driver for this device: http://www.microsoft.com/whdc/driver/wdk/
This is good starting point to learn Windows Drivers development, and USB drivers development specifically. However, it is still far away from your problem solution.
Can't you use some sort of Remote Desktop?
I'm looking for a very specific USB device for debugging systems that may use USB but not with a regular computer (proprietary hardware). I want a device that has a USB host controller and two USB device connections. The device to be debugged is connected to the USB host controller and one of the device connections is connected to another device with it's own host controller on it. The the other device connection is connected to a pc. The point being that all USB data travelling through the device (from the device connected to the host controller to the device connected to the first device connection) is reported to the pc.
I'll happily write software to do the logging (in fact I want to) but I can't seem to find a board like this anywhere. Can anyone help?
I have an Ellisys USB analyser, which isn't exactly what you describe internally, but does sit between a peripheral and a host and use a separate PC to collect the data.
(i.e. it has two 'B' and one 'A' connectors on it.)
Excellent product, and very helpful company.
Sniffing the USB shouldn't be too hard if you have the right hardware. And that is the tricky question. I haven't seen anything that describes the USB breakout box that you want. However I can say that this is in the realm of the following two magazines:
Nuts and Volts
Circuit Cellar
If they don't have a USB breakout box project in their archives, then at least they will have advertisements for small cheap single board computers that would have multiple USB ports that you can use for buffering the signals and reporting it back to your PC.
Alternatively is it possible to just wire your PC up to the middle of your two devices and write a custom drive that echos data back and forth while sniffing off a stream for you?
Sorry for the long delay in my reply -- I checked out one of our USB developer's toolchain, and he uses a Beagle USB Sniffer. He seems happy with it.
You're looking for a USB device with two upstream outputs. I think according to the USB spec, this is not possible. You will have two USB hosts trying to send messages and control the USB devices at the same time.
What if you were to look for a device which allowed you to view the data going through a hub via something other than a usb output?
If you're building something custom, take a look at this USB chip site. The chips are programmable via a windows application. Once you define how you want it to operate, it's saved on an EPROM on the dev board ($30-$50).
Sorry if this isn't helpful!