Reply by Peter Dickerson April 2, 20102010-04-02
"Andrew Jackson" <alj@nospam.com> wrote in message 
news:gt-dnb9Aw8seZi_WnZ2dnUVZ8nednZ2d@eclipse.net.uk...
>>> Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 >>> command should report a hub on port 1 according to the docs. However, I >>> havent had a USB Flash work through a hub, so I'm very dubious... >>> Surely, >>> if it doesn't work with hubs then it can't claimto be USB? > > Since the chip is operating as an embedded USB host, it may be that they > only support the USB host's root port. That said, its not that difficult > to support a hub although there is then a certain amount of complexity in > the device management. > >> I have now had a response via a friend. So it looks like they are >> ignoring >> me specifically. I haven't had chance to check out the reply, but it >> boils >> down to "put a resistor here". Of course most of the schematics don't >> have >> that, and one that does is discussed in the Vinc II docs where they say >> the >> resistor(s) aren't needed even for the VNC1L. > > The Vinculum data sheets look a little light on detail for the USB > interface (perhaps on the basis that "it just works"). Is this (missing) > resistor a pull up(/down) on one of the USB lines?
Sorry, My connection has been dead for a few days. The resistor is a pull-up on an unused signal (DATAREQ#). The resistors for USB are internal, but I don't think a host needs pull-ups/downs like USB-devices do. The pull-up did help but I still have some unhelpful symptoms. If I plug a keyboard, printer or flash into the port then it reports it (the keyboard is a slow device). If I use a hub it doesn't report the connection but I do see the hub and flash. I don't see a mouse whatever. The flash is identified though a hub on port 2 but not at the file system level - it is seen without the hub. I've yet to get any data to/from a keyboard or printer, which are the things I need to do urgently. Peter
Reply by Andrew Jackson March 31, 20102010-03-31
>> Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 >> command should report a hub on port 1 according to the docs. However, I >> havent had a USB Flash work through a hub, so I'm very dubious... Surely, >> if it doesn't work with hubs then it can't claimto be USB?
Since the chip is operating as an embedded USB host, it may be that they only support the USB host's root port. That said, its not that difficult to support a hub although there is then a certain amount of complexity in the device management.
> I have now had a response via a friend. So it looks like they are ignoring > me specifically. I haven't had chance to check out the reply, but it boils > down to "put a resistor here". Of course most of the schematics don't have > that, and one that does is discussed in the Vinc II docs where they say the > resistor(s) aren't needed even for the VNC1L.
The Vinculum data sheets look a little light on detail for the USB interface (perhaps on the basis that "it just works"). Is this (missing) resistor a pull up(/down) on one of the USB lines? Andrew
Reply by Peter Dickerson March 29, 20102010-03-29
"Peter Dickerson" <first.last@tiscali.invalid> wrote in message 
news:hoi10r$oae$1@news.eternal-september.org...
> "Andrew Jackson" <alj@nospam.com> wrote in message > news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d@eclipse.net.uk... >>> As to the actual Vinculum problem, well, I see a notification that a >>> device >>> has been inserted but when I try to query what it is with Query Port or >>> Query Device I get nothing, a long string of FFs and EBs, other >>> jibberish or >>> a prompt. In the case of a mouse I don't even get the device detected >>> notification. However, if I restrict myself to USB Flash then it works >>> (but >>> Query commands aren't needed for that). >> >> Is the issue associated only with low speed devices? Have you looked at >> any sort of USB trace to see what the Vinculum chip is trying to do? (I >> realise that this partly negates what it is trying to do.) > > I don't have a USB analyser so I don't have much visibility at that end. > The Vinculum chip has its own firmware which hides most of what the host > controller is doing. I have to rely on it doing what the docs say. There > is a firmware manual that lists all the commands and responses but the > behaviour the system doesn't match my understanding of that document. Now > it is quite likely that my understanding is wrong. For additional guidance > there are a number of application notes. One such describes how to perform > printing to a PCL-type USB printer. That particular example uses what FTDI > call SPI mode, short commands etc that match the way I'm using the VNC1L. > The hard part is that they are using HC12 assembler to drive it while I'm > using C on a ARM7. I have refactored my code to map as closely as I can to > what there example does. In practice my code works for USB Flash devices > although I bypass all of there filessystem stuff, using it to read and > write sectors. Anyway, the code in their app note doesn't match the code > in the accompanying zip file. The code does a significant amount of work > in a timer interrupt although the app note only says that there is a timer > inetrrupt for timer ticks. > > Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 > command should report a hub on port 1 according to the docs. However, I > havent had a USB Flash work through a hub, so I'm very dubious... Surely, > if it doesn't work with hubs then it can't claimto be USB? > > OK. Hub goes in port 1. I get DD1 (device detected on port 1). Remove the > hub an got rubbish. Back in - DD1. Out - DR1 (device removed from port 1). > QP1 (query port 1) replies with two bytes of zero - nothing fitted. QD > 0-15 (query device) lists sixteen lots of thirty-two zeros - nothing > fitted. > > Now, with the hub. DD1 detected. QP1, QD0-15 sequence: > QP1 timed out with no bytes received. Same for QP2. > QD 0 timed out after 0 bytes. > After a few more of those I get write timing out too. Its as if the > firmware has stopped responding and there's a fifo filling on the write > path. > Remove the hub - zilch. Looks like the Vinculum has gone away. That's the > worst I've seen. Previously I got junk and it would semi-recover when > devices were removed...
I have now had a response via a friend. So it looks like they are ignoring me specifically. I haven't had chance to check out the reply, but it boils down to "put a resistor here". Of course most of the schematics don't have that, and one that does is discussed in the Vinc II docs where they say the resistor(s) aren't needed even for the VNC1L. I'll report back. After all, if it fixes the problem then FTDI tech support ought to get the good press as well as the bad. Peter
Reply by Peter Dickerson March 26, 20102010-03-26
"Mike Harrison" <mike@whitewing.co.uk> wrote in message 
news:qvvoq5htcaa5oqlpavkkvma7k2lfh0qf0r@4ax.com...
> On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson" > <first.last@tiscali.invalid> wrote: > >>"Antti" <antti.lukats@googlemail.com> wrote in message >>news:36311f30-3eea-461f-92be-15165f38d6c4@g4g2000yqa.googlegroups.com... >>On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...@tiscali.invalid> >>wrote: >>> Has anyone here ever had a response to a support query for the Vinculum >>> VNC1L or anything else for that matter? I don't get as much as an >>> automated >>> ack. >>> >>> I thought the purpose of the chip was to make life easier when >>> implementing >>> USB host function but this is getting to be no joking matter. >>> >>> Peter >> >>FORGET about vinculum-1 >> >>MCU with only binaries??? >> >>vinculum-2 allows custom programming, but i did not see the toolchain >>downloads >> >>as of USB host, just take AT32UC3 >>cheap and free open USB host stacks >>easy > > Also look at PIC24FJ64GB004 - USB OTG with source libraries for about a > third the cost of VNC1L and > you get the CPU for free... > My biggest complaint is that Microchip's linker is too dumb to omit unused > functions, which is > ridiculous when you are using a ready-rolled USB/FAT library which will > doubtless contain many > functions that your app doesn't use. > >>------------------------- >>None of that is an option. The hardware has a VNC1L on it and I can do >>nothing about it at this stage except scream. The Vinculum was >>specifically >>imposed on me for quick time to market (yes, really!). I need a solution >>to >>my problems in weeks at most. It's not like it is completely >>non-functional. >>I have acces to Flash devices working but can't make anything else talk >>sense (USB keyboard, printer). > > I've not read all the appnotes but my impression is that VNC1L is aimed > mostly at mass-storage and > not really a general-purpose USB host, although I think there are some > appnotes on accessing a few > other things.
Yes, I know it's not a general purpose host device. Which is why it had to be imposed. The VNC1L provides access to FAT formatted USB Flash devices and a number of other things such as HID(keyboard) and printing. We already have a large body of code that accesses FAT (on other products via SD-Card). In the end it turned out easier to tell the VNC1L to read and write sectors, and bypass the file system support altogether. None of which is related to my current problem. I don't get as far as talking to the keyboard or printer. I'm struggling with getting the Vinculum to respond to queries about what has been plugged in even for case that it claims support (keyboard and printer). Peter
Reply by Peter Dickerson March 26, 20102010-03-26
"Andrew Jackson" <alj@nospam.com> wrote in message 
news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d@eclipse.net.uk...
>> As to the actual Vinculum problem, well, I see a notification that a >> device >> has been inserted but when I try to query what it is with Query Port or >> Query Device I get nothing, a long string of FFs and EBs, other jibberish >> or >> a prompt. In the case of a mouse I don't even get the device detected >> notification. However, if I restrict myself to USB Flash then it works >> (but >> Query commands aren't needed for that). > > Is the issue associated only with low speed devices? Have you looked at > any sort of USB trace to see what the Vinculum chip is trying to do? (I > realise that this partly negates what it is trying to do.)
I don't have a USB analyser so I don't have much visibility at that end. The Vinculum chip has its own firmware which hides most of what the host controller is doing. I have to rely on it doing what the docs say. There is a firmware manual that lists all the commands and responses but the behaviour the system doesn't match my understanding of that document. Now it is quite likely that my understanding is wrong. For additional guidance there are a number of application notes. One such describes how to perform printing to a PCL-type USB printer. That particular example uses what FTDI call SPI mode, short commands etc that match the way I'm using the VNC1L. The hard part is that they are using HC12 assembler to drive it while I'm using C on a ARM7. I have refactored my code to map as closely as I can to what there example does. In practice my code works for USB Flash devices although I bypass all of there filessystem stuff, using it to read and write sectors. Anyway, the code in their app note doesn't match the code in the accompanying zip file. The code does a significant amount of work in a timer interrupt although the app note only says that there is a timer inetrrupt for timer ticks. Now I'm going to plug in a hub, which has got to do 12 Mb/s. Their QP1 command should report a hub on port 1 according to the docs. However, I havent had a USB Flash work through a hub, so I'm very dubious... Surely, if it doesn't work with hubs then it can't claimto be USB? OK. Hub goes in port 1. I get DD1 (device detected on port 1). Remove the hub an got rubbish. Back in - DD1. Out - DR1 (device removed from port 1). QP1 (query port 1) replies with two bytes of zero - nothing fitted. QD 0-15 (query device) lists sixteen lots of thirty-two zeros - nothing fitted. Now, with the hub. DD1 detected. QP1, QD0-15 sequence: QP1 timed out with no bytes received. Same for QP2. QD 0 timed out after 0 bytes. After a few more of those I get write timing out too. Its as if the firmware has stopped responding and there's a fifo filling on the write path. Remove the hub - zilch. Looks like the Vinculum has gone away. That's the worst I've seen. Previously I got junk and it would semi-recover when devices were removed... Peter
Reply by Mike Harrison March 26, 20102010-03-26
On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson" <first.last@tiscali.invalid> wrote:

>"Antti" <antti.lukats@googlemail.com> wrote in message >news:36311f30-3eea-461f-92be-15165f38d6c4@g4g2000yqa.googlegroups.com... >On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...@tiscali.invalid> >wrote: >> Has anyone here ever had a response to a support query for the Vinculum >> VNC1L or anything else for that matter? I don't get as much as an >> automated >> ack. >> >> I thought the purpose of the chip was to make life easier when >> implementing >> USB host function but this is getting to be no joking matter. >> >> Peter > >FORGET about vinculum-1 > >MCU with only binaries??? > >vinculum-2 allows custom programming, but i did not see the toolchain >downloads > >as of USB host, just take AT32UC3 >cheap and free open USB host stacks >easy
Also look at PIC24FJ64GB004 - USB OTG with source libraries for about a third the cost of VNC1L and you get the CPU for free... My biggest complaint is that Microchip's linker is too dumb to omit unused functions, which is ridiculous when you are using a ready-rolled USB/FAT library which will doubtless contain many functions that your app doesn't use.
>------------------------- >None of that is an option. The hardware has a VNC1L on it and I can do >nothing about it at this stage except scream. The Vinculum was specifically >imposed on me for quick time to market (yes, really!). I need a solution to >my problems in weeks at most. It's not like it is completely non-functional. >I have acces to Flash devices working but can't make anything else talk >sense (USB keyboard, printer).
I've not read all the appnotes but my impression is that VNC1L is aimed mostly at mass-storage and not really a general-purpose USB host, although I think there are some appnotes on accessing a few other things.
Reply by Mike Harrison March 26, 20102010-03-26
On Thu, 25 Mar 2010 09:31:14 -0000, "Peter Dickerson" <first.last@tiscali.invalid> wrote:

>"Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk> wrote in >message news:80vk5bFcanU1@mid.individual.net... >>> None of that is an option. The hardware has a VNC1L on it and I can do >>> nothing about it at this stage except scream. The Vinculum was >>> specifically imposed on me for quick time to market (yes, really!). I >>> need a solution to my problems in weeks at most. It's not like it is >>> completely non-functional. I have acces to Flash devices working but >>> can't make anything else talk sense (USB keyboard, printer). >>> Peter >> >> Peter, >> >> I've always had reasonably prompt responses from FTDI support, you might >> want to ping them to get an answer? > >I'll give it a go, but time is running out. > >Peter >
The only time I've not had a quick response is when there's a trade show on.
Reply by Andrew Jackson March 26, 20102010-03-26
> As to the actual Vinculum problem, well, I see a notification that a device > has been inserted but when I try to query what it is with Query Port or > Query Device I get nothing, a long string of FFs and EBs, other jibberish or > a prompt. In the case of a mouse I don't even get the device detected > notification. However, if I restrict myself to USB Flash then it works (but > Query commands aren't needed for that).
Is the issue associated only with low speed devices? Have you looked at any sort of USB trace to see what the Vinculum chip is trying to do? (I realise that this partly negates what it is trying to do.) Andrew
Reply by Peter Dickerson March 26, 20102010-03-26
"-jg" <jim.granville@gmail.com> wrote in message 
news:c2ecb7df-ec69-4e4f-ba5f-164449b18491@g28g2000prb.googlegroups.com...
On Mar 25, 9:31 pm, "Peter Dickerson" <first.l...@tiscali.invalid>
wrote:
> I'll give it a go, but time is running out.
Do you have a 'Plan B' ? ----- The plan B that I had was abandoned long ago as unable to fit the time scale. However, the product range includes some with a user interface and some without. Only the UI versions are affected. My primary task is to get the non-UI product working well. I'm pretty happy with that. The UI product includes a touchpanel display and application engine that talks to the headless part. I'm not responsible for the applications side but have been involved in device drivers. Oh, and I designed much of the electronics - so I smell a linching in the air even though the inclusion of the VNC1L was imposed on me (and have the emails...) Peter
Reply by Peter Dickerson March 26, 20102010-03-26
"d_s_klein" <d_s_klein@yahoo.com> wrote in message 
news:7ac7791f-8d29-4002-aa1b-2cad2a4e4de8@t32g2000prg.googlegroups.com...
On Mar 24, 4:05 pm, "Nial Stewart"
<nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> > I've always had reasonably prompt responses from FTDI support, you might > want to ping them to get an answer? > > Nial.
I too have gotten prompt responses from FTDI support. However, I'm still waiting to get a *useful* response from them. ---- I have tried again without any response or ack. I've concluded that they're filtering out the small fry like me (I'm a consultant, so address != client ). I have asked an engineer at the client to pass on the support request to see if that helps. The problem is that the product being developed is a replacememt for the current main product range. Consequently parts for the old product are on order. The new is very late but we're down to a few EMC issues, my firmware problem with the VNC1L and teething problems. But it won't be long before the production staff will be idle if the problem is not resolved. FWIW the MD/CEO has seen the railcrash coming and resigned, knowing that driver rarely survives such incidents. As to the actual Vinculum problem, well, I see a notification that a device has been inserted but when I try to query what it is with Query Port or Query Device I get nothing, a long string of FFs and EBs, other jibberish or a prompt. In the case of a mouse I don't even get the device detected notification. However, if I restrict myself to USB Flash then it works (but Query commands aren't needed for that). Peter