On 12/30/06, Andrew Neil Ramage <nrsc16850(a)blueyonder.co.uk> wrote:
> A franklin eBookMan using the provided Windows Software.
(By the way, it's bad practice to top-post bottom-posted emails.)
What interface does the device provide? Is it a mass-storage device?
Or some vendor-specific protocol? Do "lsusb -v" and see the class and
subclass -if they're 0xFF (vendor-specific), you're probably out of
luck, because:
If the Windows software includes .SYS files, wine can't load those yet
(although wine's NTOSKRNL.EXE is coming soon, right?)
Since wine is largely designed for running Windows applications on
Linux, a lot of the hardware support infrastructure (SETUPAPI, CFGMGR,
...) is still missing. At present, a Windows app cannot directly
access the hardware, only indirectly (for example, it can save a file
to a mass-storage device supported by Linux, or communicate through a
USB ethernet controller supported by Linux).
Now in Windows, applications don't access USB directly either (Windows
only allows USB control packets from user-space, not bulk, interrupt
or isochronous, and no app I know uses that interface anyway). What
apps usually do is open a .SYS device driver (eg. \\.\USBSCAN0\2) and
use ReadFile to send bulk data, WriteFile to receive bulk data, and
DeviceIoControl for everything else. So in theory if you figure out
the interface between the application and the driver in Windows, you
can write a kernel module for Linux that does the same, and your app
can communicate with the hardware. Wine currently doesn't do this at
all, although I've written a semi-complete implementation of STI and
USBSCAN.SYS this way, and it works with native TWAIN drivers.
Damjan
> Andrew
>
> > On 12/30/06, Andrew Neil Ramage <nrsc16850(a)blueyonder.co.uk> wrote:
> >> How do you get a Windows program access to the USB port ?
> >
> > What are you trying to do? What device are you accessing?
> >
> >> Andrew
> >
> > Damjan
> >
> >
>
>
> --
> Andrew Ramage
>
>
>
Hello,
I'm testing a windows app I'd very much like to run under Wine (using v0.9.22), being in touch with the author. This is a small web server app based on a Microsoft MFC sample app. It happily works under Windows, but that'd be the wrong thing for running it 24/7. ;-)
It's not yet working under Wine, fails to serve larger files, but we've pretty much narrowed down the problem by adding logs to the app and using ethereal.
For example, the app tries to write 25017 bytes to the socket, but the
socket only allows 11680 bytes at a time, and the TCP stack fragments
this in 8 packets of 1460 bytes, presumably because it only has 8
buffers reserved. So far so good.
We see them being sent on the Ethernet and the ACK's are coming in, but
after these 8 packets there should be a signal to trigger the OnSend
function of the app so it can send the next part of data, but this never
happens... The reselection of the socket did not return an error. Given the reselection is ok, and at the Ethernet level messages are consistently sent and ACK's received, the conclusion is that there might be a bug in Wine. So here we are stuck.
Given that Wine successfully runs real big application such as MS Internet Explorer, I can't imagine it to have such a fundamental problem. Is there something I overlooked, like a configuration issue?
If it really gets interesting, I can ask the developer for a more detailed report, including the Ethereal log snippet, in case somebody wants to actually look into it. First I'd like to find out if this is the right place, or if I should "bury" it into bugzilla.
Thank you for your time and help,
Jörg
--
GMX DSL-Flatrate 0,- Euro* - Überall, wo DSL verfügbar ist!
NEU: Jetzt bis zu 16.000 kBit/s! http://www.gmx.net/de/go/dsl
Hi folks,
at the time of writing, I'm unable to get a page back from the budgetdedicated
mirror. Could someone who has access to that box take a look at that?
Cheers,
Kai
--
Kai Blin, <kai Dot blin At gmail Dot com>
WorldForge developer http://www.worldforge.org/
Wine developer http://wiki.winehq.org/KaiBlin/
--
Will code for cotton.
Hi,
any pointers how to build a winetest.exe I can run on Windows?
All tests (but crypt32 and hlink) can be cross compiled (MinGW) but only
give me the single test executable for that dll.
Cheers,
Paul.
Hi,
I am intending to send in a few patches to remove some unused Wine variables
and functions from the dlls. Please accept that my good faith is tempered
by a degree of ignorance, and advise me of suitable markup if any seemingly
redundant piece of code I seek to remove must remain for a legitimate
reason.
Thanks,
-- Andy.
http://bugs.winehq.org/show_bug.cgi?id=3023
I have been fiddling with Orcad 9.2 Capture and have found the cause of
the problem behind its inability to place parts, text etc. It is caused
by the window that the object is to be placed in temporarily losing
focus (or maybe activation) after the dialog box for entering the
object's properties is closed. This temporary loss of focus causes the
window to "lose its grip" on the object being placed.
Removing the line that calls WINPOS_ActivateOtherWindow in
dlls/user32/dialog.c in the EndDialog function fixes this problem - the
focus seems to immediately return to the correct window and the object
can be placed.
The removal of this WINPOS_ActivateOtherWindow call does not seem to
have any visible side-effects in this particular instance - does it have
a purpose? (In this instance I traced its call to see what it activated
- it does not find a valid window to activate, so reaches the end and
calls SetActiveWindow(0)).