Re: How to Faking a PCI or USB device.

2012-11-27 Thread Bjørn Mork
Pranay Kumar Srivastava pranay.shrivast...@hcl.com writes:

 maybe if you're lucky, QEMU can emulate that for you...e.g: network
 adapter...

 Well let's just say it emulates network adapter (PCI right?) so
 wouldn't a default driver exist for that? So I should just remove that
 driver and use my driver instead?

well, you can always create your own completely new device in QEMU.
It's not that hard.  Just take one of the existing ones and modify it
as you want.  You'll find the device emulating drivers in qemu/hw/

I actually did this a few weeks ago. And I started out thinking like
you. I had a new USB driver I wanted to test with a special device
configuration variant, and I could not get hold of an actual device with
such a configuration.  But I did have some old and abandoned
microcontroller project laying around.  So I dug that out, including
semi-working firmware source and old toolchain. Still took me several
hours to just get the damn thing to run and enumerate as any USB device
at all.  And modifying the firmware, building and flashing it took
forever.  For each round.  And I realized there would be many of
them

So I quickly gave up (there was a reason this project was abandoned :-),
and gave QEMU (well, kvm-qemu really) a shot instead.  Copying an
existing usb device there and modifying the descriptors to suit my need
took no time at all.

Additional benefit of the QEMU route: If you are writing a driver and
crash the host (not me, I never do anything wrong of course) , then you
only crash a virtual machine.

There is one drawback: QEMU device drivers are not modular, so you will
have to restart your virtual test machine every time you modify the
device.  Still is a lot faster than flashing a microcontroller.


Bjørn

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: How to Faking a PCI or USB device.

2012-11-26 Thread Mulyadi Santosa
Hi..

On Mon, Nov 26, 2012 at 5:27 PM, Pranay Kumar Srivastava
pranay.shrivast...@hcl.com wrote:

 Is it possible to fake such a device that probably does nothing but I can say 
 modify some parameters of the fake device? In short is it possible to devise 
 a fake configuration address space of the fake device and try to use it 
 (completely in memory device)?.  If it can be done please give me some 
 pointers.

what kind of device?

maybe if you're lucky, QEMU can emulate that for you...e.g: network adapter...


-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


RE: How to Faking a PCI or USB device.

2012-11-26 Thread Pranay Kumar Srivastava


 -Original Message-
 From: Mulyadi Santosa [mailto:mulyadi.sant...@gmail.com]
 Sent: Monday, November 26, 2012 4:07 PM
 To: Pranay Kumar Srivastava
 Cc: kernelnewbies@kernelnewbies.org
 Subject: Re: How to Faking a PCI or USB device.
 
 Hi..
 
 On Mon, Nov 26, 2012 at 5:27 PM, Pranay Kumar Srivastava
 pranay.shrivast...@hcl.com wrote:
 
  Is it possible to fake such a device that probably does nothing but I can 
  say
 modify some parameters of the fake device? In short is it possible to devise a
 fake configuration address space of the fake device and try to use it
 (completely in memory device)?.  If it can be done please give me some
 pointers.
 
 what kind of device?

Any kind. I was looking around to find simplest of USB and PCI devices. I Found 
one article by Greg http://www.linuxjournal.com/article/7353 written a long 
time back, so maybe something like this. If I can find some cheap hardware like 
it I would like to use it to decorate my desk for new year :P. But while I find 
a simple hardware what would I need to know to fake such a simple device?

 
 maybe if you're lucky, QEMU can emulate that for you...e.g: network
 adapter...

Well let's just say it emulates network adapter (PCI right?) so wouldn't a 
default driver exist for that? So I should just remove that driver and use my 
driver instead? 

 
 
 --
 regards,
 
 Mulyadi Santosa
 Freelance Linux trainer and consultant
 
 blog: the-hydra.blogspot.com
 training: mulyaditraining.blogspot.com

Thanks for the help I really appreciate it.


::DISCLAIMER::


The contents of this e-mail and any attachment(s) are confidential and intended 
for the named recipient(s) only.
E-mail transmission is not guaranteed to be secure or error-free as information 
could be intercepted, corrupted,
lost, destroyed, arrive late or incomplete, or may contain viruses in 
transmission. The e mail and its contents
(with or without referred errors) shall therefore not attach any liability on 
the originator or HCL or its affiliates.
Views or opinions, if any, presented in this email are solely those of the 
author and may not necessarily reflect the
views or opinions of HCL or its affiliates. Any form of reproduction, 
dissemination, copying, disclosure, modification,
distribution and / or publication of this message without the prior written 
consent of authorized representative of
HCL is strictly prohibited. If you have received this email in error please 
delete it and notify the sender immediately.
Before opening any email and/or attachments, please check them for viruses and 
other defects.




___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies