Jose Pablo wrote:
>
> I think Vincent is right. I am pretty sure you guys have a lot of good
> ideas for the library but if you keep that attitude you will not get
> it serious. It seen you guys are taking the project by force
I think that's the intent, yes.
--
Tim Robert
rite the Enum registry entry to switch to the
new service.
Do you put the original drivers back when I'm through using the Spice
client?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live
Arnon Gilboa wrote:
> Tim Roberts wrote:
>> although I suspect it
>> would be easier just to rewrite the Enum registry entry to switch to the
>> new service.
>>
> Can you pls explain this point?
Assuming you don't need to change the device's instal
devcon is in
the WDK.
> Seems also like a reasonable way to uninstall WinUSB and get back to
> USBSTOR, right?
If you were able to install it that way, yes. You might also need to
dink with the UpperFilters and Low
,00,00
> 34c38
> < "ActiveService"="USBSTOR"
> ---
> > "ActiveService"="WinUSB"
You'd need to add the DeviceInterfaceGUIDs key so WinUSB knows which
device interface to register.
Perhaps this is a bit too much magic just to save a li
hat post. The restrictions
mentioned in that list apply to WinUSB, which is the user-mode wrapper.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will
disadvantage of moving
drivers to user-mode is that latency goes up and throughput goes down.
Microsoft quotes a 10% performance penalty. There are many classes
where that doesn't matter, but webcam drivers aren't one of them.
--
Tim Roberts, t...@probo.com
Prov
t good does
that do you?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has cha
Xiaofan Chen wrote:
> On Sat, May 5, 2012 at 1:02 AM, Tim Roberts wrote:
>> Janko Kolar wrote:
>>> I am new to libusbx and I have one basic question
>>>
>>> I would like to determine to which usb port particular device is attached.
>> Why? Of what possi
till be there
in three years?
However, you're fully entitled to set policy, so I won't say any more on
the topic.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Con
> The
> parameter is incorrect.
You understand this is not the same device, right? / is what you
get when a device fails to enumerate at the hardware level.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
-
ed on a faulty assumption.
> However, if Windows always considers a device with 0:0 in the device
> descriptor an error, then the Windows backend should discard them.
I don't think the Windows USB stack does any such thing, although if I
were a real man I would have burned a d
When news of this limitation first came out 5 or 6 years ago, the USB
team at Microsoft sent out a blast saying "We will add this if you have
a legitimate use case for it. Let us know." No one has let them know,
or at least no one that matters.
HID traffic
waiting for you, and that you don't need to send a report request first?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cov
want to wait until the retail release
to take any action. VS11 is still undergoing changes.
I'm guessing VS11 is not going to catch on very quickly. There are a
number of very unpopular changes, including the fact that it will no
longer build binaries that work on Windows XP.
--
Tim Robert
.
I have certainly done vendor device requests with wValue larger than 0x4000.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the
sed to have 512kB, so it
shouldn't be an issue.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's
from HHD Software for many years. Their GUI is a
little more video-game-like than I prefer, but it does the job.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Ex
possible to write a filter driver for usbport.sys on the existing
operating systems to provide this same functionality. Did anyone ever
undertake that project?
--
Tim Roberts, t...@probo.com
Providenza & Boe
m behave the same way as
> Windows 8 in terms of detecting and automatically installing drivers?
You're right. I hadn't thought that through sufficiently.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
e endpoint8 and 1 of the POLLIN the
> endpoint6? If this is correct what is the other POLLIN file descriptor?
If timerfd is available on your system, to manage timer expirations
through a file descriptor, that's added to the POLLIN list.
--
Tim Roberts, t...@probo.c
ndows, if your bus
doesn't have enough bandwidth, the device will fail enumeration. By
moving this to an alternate setting, the device will enumerate, and you
can detect in the driver/application that the problem is insufficient
ban
to distinguish the files descriptor from each other?
Why would you need to?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the
ance? That is,
does it assume that, if there is a WINUSB driver, it must be one it can
chat with?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live e
Pete B is much more current on this process than I am. He is well on
his way to having a solution for you.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive
t of the custom Cypress FX2 driver. They are not USB
commands. Many of them do map to single USB requests, but someone of
them are more complicated. Cypress used to release the source code for
ezusb.sys, or you could post the ioctls that you need here and I can
offer advice.
--
Tim Roberts, t...@
D,// request
> c_usDeviceId,// device id
> c_usOffset,// offset
> c_uiLength,// size
> reinterpret_cast(pszAssNum));// buffer
bmRequestType = 0xC2
bRequest = VR_I2C_COMMAND
wValue = c_usDeviceId
wIndex = c_usOffset
length = c_uiLength
You should be able to figure the parameters out from tha
int, incoming
c3 Vendor other, incoming
All other values of bmRequestType are invalid.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event wil
call clear_halt here? In virtually every case, that's
unnecessary superstition.
Are you sure your device has queued up data to send? What is it that
tells your device to put data in the FX2 FIFO?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
busbx is usually not the right answer when there is already a
well-defined way to access the device.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive liv
DF form, and sample C program that shows you the exact
interface to the Garmin DLL.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cov
cription of the data formats produced by their devices.
Their driver is not very complicated -- it mostly just passes requests
straight through to the device. YOU ought to be able to figure out from
that document what the data is you are receiving from USB.
--
Tim Roberts, t...@probo.com
Providenz
ing for help on how to talk to your Garmin. We don't know more about
that than you do.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cov
the amd64
name". That's gradually happening over time.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today'
ed suit with amd64 and actually
> managed to set the course for mainstream 64 bit adoption.
Karma's a bitch ain't it? ;)
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security
ueue up
data to be sent, but it is not allowed to put anything on the wire until
it gets an IN token from the host, and that will only happen if the host
controller driver has a pending request from you. If you don't ask for
it, the device is never given the opportunity to send.
--
Tim
st ALWAYS
have a max packet size of 512. That's required by the spec. Because
the FX2 only has a 64-byte buffer for endpoint 1, that presents a
philosophical problem, and the FX2 data sheet points this out. You have
to report it as 512 bytes, but make sure you never try to do a packet
lar
imited by the speed of the 8051, keeping the
> send/receive chunks down to 64 bytes is perfectly fine, and possible
> because I control the code on both sides.
Yes. It is easy to forget how abysmally slow the FX2's 8051 is. At
best, you get 3 MIPS.
--
Tim Roberts, t.
and how many
> unsigned int?
If you have your data as an unsigned int, and you need to send that as a
4-byte quantity to your device, just use
(unsigned char *) &myUnsignedInt
You need to be aware of endianness issues, however. Windows is
exclusively little-endian, so your devic
declared as static?
What DO you see? Is there an error, or does it simply never return?
How many bytes are you trying to read? What is the value of "endpoint"?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
---
eing claimed by a virtual COM port driver.
How did you install the libbusb driver?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Live Security Virtual Conference
Exclusive live event will cover all the w
he beginning of the
> transfer function,(That means I am running single thread, I am
> serialize the call) it takes 4-5 calls for
> libusb_handle_events_timeout to call the callback and exit the loop.
> this is the case even when 0 byte is read.
Well, when 0 bytes are read, it
multithreading problem, but
there's not much we can do without seeing the whole code, and I'm not
sure you really want to do that. You need to think about what order
things are happening, remembering that asynchronous operations will
always arrive at the most inconvenient time.
--
Tim R
d tell us
what you expected.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with
evidence, is that you have a device
problem that is causing the host controller to raise error conditions on
your endpoint. Is this a device you are developing? Do you have a USB
analyzer, so you can watch the traffic when this happens and see if
there are any unusual pa
face and returns, without ever entering the event
loop. Who is going to reap the completed URB?
> I do not currently have a USB Analyze for Linux Right,
I really meant a hardware analyzer, but I'm thinking now that's not
necessary.
--
Tim Roberts, t
0,000, etc). That naturally
produces the results you see.
So, basically, you aren't measuring what you think you are measuring.
For example, it looks like you might have a fixed delay of 2.5 seconds
somewhere between your "start" and your "stop". You can't
ber that interfaces are just ways of collecting endpoints.
Endpoint requests on the bus do not include an interface number.
Claiming an interface just grants you ownership of the endpoints within
that interface.
--
nstalls a filter driver.
That can be done silently and does not require the normal PnP
installation process, although the device has to be restarted or
unplugged/replugged.
I don't believe any of the libusbx back-ends operate as a filter
driver. However, I thought that the libusb-win32 CO
through ioctls. However, just like with USB, you have to know
what you're sending in the passthrough to achieve the results you want.
You can discover that -- you have to have a reference. We don't know
what commands the disk firmware expects, and there's no good way to find
out.
component that can do I/O.
> But maybe it is worth looking at how to get it work there.
> WinUSB apparently works under Windows RT.
The only way to use USB is through the WinRT runtime. That runtime uses
WinUSB. At this point, there is no other way to do it.
--
Tim Roberts, t..
n is the easiest. There is an API solution, but it
involves opening the raw devices, sending ioctls to query their
partition IDs, and then matching up the partition IDs.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
\DosDevices\B:
One of those values will contain the ParentIdPrefix from USBSTORE.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Monitor your physical, virtual and cloud infrastructure from a single
web c
driver.
If you register a driver for the composite device (without an interface
number at all), then you only need one driver. But if you don't
register for the composite device, the system supplies one (usbccgp),
which creates N separate subdevices, each of which starts crying for its
pretty good job of exercising the generic
behavior of your device:
http://www.usb.org/developers/tools/
Is your device based on some common USB interface chip?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
-
/TI/Stellaris USB library is interrupt-driven, and
with an 80 MHz core, it ought to be able to keep up, unless you are
intercepting the GetDescriptor request in some way.
--
Tim Roberts, t...@probo.com
Providenza &
es the sending of invalid commands and allows for
additional instrumentation. As a result, it's tightly coupled to Windows.
This page might help you: http://www.linux-usb.org/usbtest/
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
only the currently
open endpoints. With a normally operating device, that output would be
immediately followed by the entire Configuration Descriptor, which does
require a round trip.
The fact that the Configuration Descriptor is missing says that usbview
got an error while trying to fetch it.
}
In both cases, you'd have to loop back around to check later anyway.
This would not be too hard to add, although I suspect you could do the
same thing yourself with a small C module.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
-
Mohamed HAMZAOUI wrote:
>
> From the main thread i call this function every 500micro second on
> average :
That's way too much overhead. You need to submit larger transfers at
longer intervals. For example, think about having 10ms or 20ms kin each
request.
--
Tim Roberts,
scheduled for the next frame, at the next
millisecond boundary.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PC
ox, Android actually
> has less restriction to let users develop their own USB drivers.
That's correct.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
LogMeIn Rescue: Anywhere, Anytime Remo
y design platform...
This is a nice summary of the situation. I'm especially fond of your
phrase "going all Apple" -- I will have to work that into a New Year's
Eve party conversation.
--
Tim Roberts, t...@pr
not.
Error -71 is EPROTO, suggesting a protocol violation. I guess that
implicates the firmware. Have you done an lsusb to make sure the
descriptors match what you expect?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
that says "GO!". Thus, at every
interval, the device has the right to send up to its maximum packet
size. As a result, your buffer has to be ready to accept that much
data, every time.
--
Tim Roberts, t...@probo.c
Tim Roberts wrote:
> Wander Lairson Costa wrote:
>> I observed that benchmark firmware always expects isochronous transfer
>> of a size multiple of packet size. Is this just a convention on the
>> firmware or is there something about isochronous that I am missing
>> out?
ns to occur at the end of a microframe, so that it
steps on the frame boundary, it can actually cause the upstream hub to
shut down. I've seen it happen.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
---
request, regardless of pipe
type, should always be a multiple of the maximum packet size.
> Right? On the occasion
> that you know exactly how many data to expect, then of course it
> is okay to use the that.
Yes, assuming everything always goes as planned... It doesn't cost
anythi
evel.
> This feature is not available on Linux, or presumably on other
> platforms. I don't see any reason why libusb or libusbx should support
> it.
I agree.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
---
Xiaofan Chen wrote:
> On Fri, Jan 25, 2013 at 2:40 AM, Tim Roberts wrote:
>> In Microsoft's defense, this is implemented in the WinUSB wrapper DLL,
>> not at the USB kernel level. It's a convenience. The DLL turns this
>> into spec-compliant requests at the kern
ely?
> Being able to use the same code base (or close to it)
> across platforms was also an enticing factor. Let me know if you think
> I am off base with this.
How are you going to avoid specifying a COM port across platforms?
--
Tim Roberts, t...@probo.com
Provid
t; However, I do appear to be able to accomplish what
> I want using bulk transfers via Libusbx. Are there major issues with
> this that I'm not aware of?
I'm with Alan. If it works for you, bulk traffic is the most common kind.
--
Tim Roberts,
interface 1, when you should have been
claiming interface 0 with alternate setting 1.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next
Endpoint 0x81
happens to be an IN endpoint.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get
al world does not
so neatly fit the nice specification.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 20
re
checking for zero/not-zero, that will compare as true.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
is your hub for
e is the way the host controller driver
schedules them.)
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
is your hub for all
n". Claiming the
interface will set alternate setting #0, so you only need to set the
alternate setting number if you have more than one, and you will
(almost) never have more than one unless you have isochronous pipes.
dard requests;
else if( request type is "class" )
go handle class requests;
else
go handle vendor requests;
and the code above is probably in the "vendor request" section.
It is clear that your firmwar
t over after all of the other
reservations. The timing is unpredictable.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDyn
"unsigned driver" warning, your
driver should work fine. Note that Windows 8 now requires a CAT file
for all driver packages. Look up the "inf2cat" tool.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
-
Xiaofan Chen wrote:
> On Thu, Feb 28, 2013 at 2:32 AM, Tim Roberts wrote:
>> Note that Windows 8 now requires a CAT file
>> for all driver packages.
> Does this cat file needs to be signed? Where is
> this documented?
I couldn't find it written down. I learned it em
> async API and event handling.
I don't see anything in that code that serializes read requests.
> If not, then what could be the problem?
That FTDI code does set the default read buffer size to 4096. That's
settable, using ftdi_read_data_set_chunksize.
--
do any
better than 64kB/s, but you should be able to do exactly 64kB/s.
> I have a question: is ISO transfer works with libusbx or not?
Yes.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
-
ouldn't want to be automatically reconnected. Thus, this ends up
being an application-specific process.
This is why hotplug has not already been added to libusb/libusbx. You
have suggested a mechanism that would work for your application, but
it's not at all clear that it is the right so
Plus, the circuit board and connector tolerances are a
LOT less forgiving at 5 GHz than they are at 480 MHz.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Everyone hates slow websites. So do we.
Ma
ID related. If the LCD isn't keyboard
related, then it should be on a separate interface.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Everyone hates slow websites. So do we.
Make your web app
additional pointer at all? It seems like it violates 3rd
Normal Form. Why not just advance the pointer in place?
ed = (struct libusb_endpoint_descriptor *)((unsigned char *)ed +
LIBUSB_DT_ENDPOINT_SIZE);
--
Tim
l]. You can copy files, create services, and
create registry entries, but it will not associate your driver with the
device you're trying to drive.
Right-click installs can be used for so-called "legacy" drivers, but it
doesn't do anything that can't also be done with a bat
ave an interface number in them. All they get are
an endpoint number.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Own the Future-IntelĀ® Level Up Game Demo Contest 2013
Rise to greatness
e driver per interface,
the composite driver rewrites the descriptors so that each function
driver sees a single interface device.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Minimize network
Pete Batard wrote:
> On 2013.04.08 19:12, Tim Roberts wrote:
>> For example, in this snippet:
>>> Opening device 0403:CFF8...
>>> libusbx: error [init_device] device
>>> '\\.\USB#VID_0403&PID_CFF8&MI_01#6&222886B8&
>>> 0&am
ed that whatever fd futzing was going on
was absolutely insignificant when compared to the overhead of
user/kernel transitions and user event processing.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
---
l case. You
are bucking Amdahl's Law here. The libusbx event handling is such a
small part of the problem that, even if you completely eliminated all of
the libusbx overhead, you would have improved the overall performance so
slightly that it
DDRESS commands
> and nothing else. My device descriptor is below.
What does the configuration descriptor look like?
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Precog is a next-generatio
rather use libusbx, but WinUSB will be fine if I can figure out
> how to get a handle to the bulk endpoints.
Do you actually have multiple interfaces? Did you write your INF to
match the composite device, or did you match the specific interface you
want (with #MI_01, for example)?
--
Tim R
driver doesn't even KNOW there is a second interface.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-bas
g the meaning of those terms in
a possibly unexpected way.
Apps that need the usb.ids lookup should go do the lookup. Beyond that,
this becomes a maintenance headache.
However, I may not be in the majority. I also think the project will
come to regret the introduction of libusb_str
's still hard for me to figure out understand how this could happen.
If you don't SEND the second buffer until you have RECEIVED the first
result, how could you even get the first result unless the first buffer
was already gone?
--
Tim Roberts,
it
in a code sample? I can't judge that. I am, admittedly, a minimalist.
--
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.
--
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.
1 - 100 of 151 matches
Mail list logo