uplcom.c changes (was: USB driver selection algorithm?)

Alex K lesha at intercaf.ru
Thu Jul 1 07:18:47 PDT 2004


Hello!
  
Bernd Walter wrote:
> uplcom takes devices (or maybe interfaces) based on vendor/product ID.
>
> > What approach will you recommend?
>
> What is your problem?
2 different USB devices with same vendor/product ID, only revision differes.
They both will be handeled by uplcom, but initialization should be different,
because chips are different (PL2303 and PL2303X)

Daniel O'Connor wrote:
> The probe and attach routines shouuld be able to select on revision,
> although  I'd be suprised if the 2 differ by enough that one driver couldn't 
> cover them both.
Technically it will be 1 driver, but device initialization should
differ based on revision. (just trying to add some functionality to uplcom.c
to support PL2303X USB-2-Serial chipset)

I have already sent some mail to personal @freebsd.org boxes of people
who were tweaking uplcom.c during last few months, but I think I should
copy it to the list, as it is not the only problem I have.

Cheers,
        AL.

-------[ Cut here ]---------------

I have recently got USB cable for my Nokia 6100 phone,
which is based on PL2303X chipset, I thought it will work
with uplcom driver, but no, something changed.

After some investigation and USB bus snooping on "Other OS" 
I have found that upon connection host sends some special
initialization sequences to the cable.

I have tried modifing uplcom.c to do this initialization, now
I can "cu -l /dev/ucom0" and speak "AT" commands to phone.

But connection to phone is somehow not "binary safe", some 
characerts typed will return garbage - for example "F" returns "Щ" 
but some characters work OK, and if I will type a working letter - 
any one character following will also be OK. So if I type "AF" 
it will work correctly

What can be causing such problem?

Patch here: http://gate.intercaf.ru/~lesha/6100/pl2303x.patch

Also Prolific people gave me Linux driver for PL2303X
(it is not included with Linux as for now, and not avaible via
their web site)
http://gate.intercaf.ru/~lesha/6100/pl2303x-linux.zip

This may be of interest.

If anyone of you, magisters, will have some spare time and/or
ideas how to make this work - I will be very pleased.

My kernel programming knowledge is very limitied, not to say "none".


More information about the freebsd-hackers mailing list