Making a computer pretent to be a USB peripheral

Jan 27, 2011 23 Replies

Hi,



I'm looking for a way to have a USB slave port on my PC. This is so it can = connect to other PCs and pretend to be a peripheral, and I want to research= on how different computers respond to this.



I understand that a Type B "slave" port is quite different to a Type A "hos= t" port. I had hoped I could get a PCI card which included either a slave o= r on-the-go port. I would then be able to control this from software, proba= bly using the Linux USB support.



However, I can't find such a PCI card. The closest things I've found are em= bedded computers (e.g.

formatting link
eet.htm), which would do at a push, but I'd rather have have the slave port= directly controlled by my computer.



Any ideas?



Paul


Umm... what kind of peripheral device do you want your PC to appear to be?

USB was initially designed with a "the PC is lord and master" (controller) architecture. So while, sure, with the right hardware and software you could get your PC to be a USB client, it shouldn't be too surprising this doesn't appear to be a popular thing to do.

(On the other hand, Firewire and Ethernet will both view your PC as "just another client" rather than anything special...)

---Joel

Well, Paul clearly wants his PC to be JAC, but which _kind_ of client remains to be seen. I used to have a Fuji camera which appeared to the USB as a disk. But how would you find the protocol for a USB mouse or keyboard? I once had a HP scanner with a USB 'A' plug at the end of an attached cable, and it and the proprietary software were very tightly integrated, with control functions and all that jazz. And, there are USB printers, and most likely stuff I haven't even thought of yet.

But Paul is a googlie, so I'll be pleasantly surprised if he even comes back to look for answers - very few do.

Cheers! Rich

Paul Johnston wrote in news: snipped-for-privacy@glegroupsg2000goo.googlegroups. com:

If you're looking for file transfering, I recommend a Tornado. Works fantastic!

formatting link

Autoloads its special file transfer software on both machines and transfers as fast as you've got USB speed....USB 2.

As far as "operating" one computer from another on USB, Ethernet is made for that.....in all of them.

can

be?

er)

ou

is

st

Maybe a variation on this thing?

PDF manual:

formatting link

Silicon Laboratories 2102 chip

or TTL PC-PL2303 Chip?

I think having a second PC with USB act like a USB hard disk drive device could be very useful.

Having a second PC act like a communication device might be useful, too.

Having a second PC act like a camera, mouse or keyboard might have applications I can't think of.

But such a device might actually be worth a $15 price tag for experimenting at least.

formatting link
/230578305387

There are cables that do this, sort of... although it's actually both PCs use USB clients chips and those chips are interconnected (i.e., just as if you used a USB to RS-232 converter on each PC and then installed a null modem between the RS-232 ports... except the USB cables for this tend to be rather faster).

I'd just head the Ethernet route for those applications...

---Joel

n connect to other PCs and pretend to be a peripheral, and I want to resear= ch on how different computers respond to this.

ost" port. I had hoped I could get a PCI card which included either a slave= or on-the-go port. I would then be able to control this from software, pro= bably using the Linux USB support.

embedded computers (e.g.http://www.compulab.co.il/t3517/html/t3517-cm-datas= heet.htm), which would do at a push, but I'd rather have have the slave por= t directly controlled by my computer.

formatting link

I think this is what you need.

Hi,

Thanks for your replies. Despite being a "googlie" I do return to check the group!

I'm initially interested in emulating a keyboard and a CD-ROM, and I expect to find much of the protocol info in the Linux USB source. But beyond that I'm interested in doing more including "fuzzing" the protocol, e.g. cycling through a range of device IDs, just to see how the computer responds. I'm somewhat inspired by this

formatting link
The phone they used of course does have a USB slave port, and I may even go down their route in the end. But I would prefer to do this directly from my PC. I 'm not particularly interested in just file transfers, nor communicating over Ethernet, where the security implications are already very well researched. I realise this is not a common requirement, but I'd expected that some "dev kits" would exist.

As for the specific suggestions:

formatting link
I think this works the wrong way, in that it lets USB control RS232, rather than the other way round.

USB-OTG This would do what I need, but I still have the original problem - how to get a USB-OTG port for a PC.

If there's any more suggestions people have, they'd be most welcome! I have noticed some USB extenders that use ethernet and did wonder if perhaps one end of these could be tampered with to do what I need.

Paul

it can connect to other PCs and pretend to be a peripheral, and I want to research on how different computers respond to this.

A "host" port. I had hoped I could get a PCI card which included either a slave or on-the-go port. I would then be able to control this from software, probably using the Linux USB support.

are embedded computers (e.g.

formatting link
which would do at a push, but I'd rather have have the slave port directly controlled by my computer.

have you looked at what's available when you enable "USB gadget support" (CONFIG_USB_GADGET) in the kernel configurator

this one looks interesting.

CONFIG_USB_GADGET_AMD5536UDC: ? ? The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. ? It is a USB Highspeed DMA capable USB device controller. Beside ep0 ? it provides 4 IN and 4 OUT endpoints (bulk or interrupt type). ? The UDC port supports OTG operation, and may be used as a host port ? if it's not being used to implement peripheral or OTG roles.

Not a PCI card unfortunately, but available in some desktop machines.

?? 100% natural

"Joel Koltner" wrote in news:6Ll0p.604895 $ snipped-for-privacy@en-nntp-11.dc.easynews.com:

It's so simple to just plug in the Tornado all this other nonsense is moot.

Even a chimp can transfer files with a Tornado....

formatting link

I'd say a crossover Ethernet cable is even simpler than a Tornado (it's just a passive cable and all contemporary OSes have built-in support for it... whereas a Tornado contains active circuitry and requires software installation... that only works on Windows anyway, AFAICT)?

The Tornado's 25Mbps isn't that impressive either... 100Mbps Ethernet will, in practice, get rather better than that when it's just two machines talking to each other, and of course newer machines with gigabit Ethernet ports will completely blow it away, generally being limited by the speed of hard drives or sometimes CPUs/network cards.

I'd grant you a Tornado is probably better for folks who aren't familiar with how to make Windows share folders and otherwise generally talk to other machines; if I needed to get something for my mother to transfer files between, e.g., her laptop and desktop with, the Tornado would be much preferable to just sending her an Ethernet cable.

---Joel

"Joel Koltner" wrote in news:AzC0p.165074$ snipped-for-privacy@en-nntp-06.dc.easynews.com:

Wanna race the little girl and Chimp?

By the time you get your Ethernet or USB software setup, my Tornado has already transferred 10GB and I've left the building. It really is that good....even if it only transfers 25Mbps. We're not setting up a network for the next 10 years. We're trying to get files on/off a netbook or from the old computer to the new. Tornado rocks for this purpose.

That Tornado really does look very useful, for file transfer. OP here wants to emulate "a keyboard and a CD-ROM".

It might sound silly but is there actually any software out there to emulate a keyboard or a CDROM drive VIA an extra Ethernet port in each computer?

CD ROM drives can be shared through the standard "file sharing" functionality built into Windows, Linux, etc. -- it's no different than sharing a hard drive.

oot.

ust a

Crossover *cable*? What is this, 1997? All modern NICs auto-detect the cable and can use a regular patch cable.

Yeah, but the likelihood of one running into a "modern NIC" on any given computer today is probably rather less than 50/50 -- at work we have many computers that are now around 5 years old that still perform fine for our purposes... but don't have auto-MDIX.

Apparently all *gigabit* NIC cards support auto-MDIX though?

---Joel

lity

It'll share, but will it EMULATE across ethernet as well?

Can a Flash drive, RAM or hard disk ISO image of a CD appear to the other computer as if it's an actual CD in the other computer?

Then you must be the chimp. A USB memory stick is even faster.

Maybe for you. I have a shop server and plenty of extra ports. (48 wire ports, plus wireless.)

You can't fix stupid. You can't even put a band-aid on it, because it's Teflon coated.

Sigh. You can use the remote CD or DVD drive like a local, it just won't be a 'D' drive, unless you manually reassign drive letters.

You can't fix stupid. You can't even put a band-aid on it, because it's Teflon coated.

functionality

also it won't eject under software control, play music, or burn like a real cdrom drive attaced via USB.

?? 100% natural

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required