From: Mike Harrison on
On Thu, 25 Mar 2010 09:31:14 -0000, "Peter Dickerson" <first.last(a)tiscali.invalid> wrote:

>"Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk> wrote in
>message news:80vk5bFcanU1(a)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.


From: Mike Harrison on
On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson" <first.last(a)tiscali.invalid> wrote:

>"Antti" <antti.lukats(a)googlemail.com> wrote in message
>news:36311f30-3eea-461f-92be-15165f38d6c4(a)g4g2000yqa.googlegroups.com...
>On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...(a)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.
From: Peter Dickerson on
"Andrew Jackson" <alj(a)nospam.com> wrote in message
news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d(a)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


From: Peter Dickerson on
"Mike Harrison" <mike(a)whitewing.co.uk> wrote in message
news:qvvoq5htcaa5oqlpavkkvma7k2lfh0qf0r(a)4ax.com...
> On Wed, 24 Mar 2010 17:00:43 -0000, "Peter Dickerson"
> <first.last(a)tiscali.invalid> wrote:
>
>>"Antti" <antti.lukats(a)googlemail.com> wrote in message
>>news:36311f30-3eea-461f-92be-15165f38d6c4(a)g4g2000yqa.googlegroups.com...
>>On Mar 24, 12:24 pm, "Peter Dickerson" <first.l...(a)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


From: Peter Dickerson on
"Peter Dickerson" <first.last(a)tiscali.invalid> wrote in message
news:hoi10r$oae$1(a)news.eternal-september.org...
> "Andrew Jackson" <alj(a)nospam.com> wrote in message
> news:r_KdnQ7nfPBl7jHWnZ2dnUVZ8gxi4p2d(a)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