Date: Thu, 1 Jul 2004 18:05:55 +0400 From: Alex K <lesha@intercaf.ru> To: ticso@cicely.de, "Daniel O'Connor" <doconnor@gsoft.com.au> Cc: freebsd-hackers@freebsd.org Subject: uplcom.c changes (was: USB driver selection algorithm?) Message-ID: <200407011805.55432.lesha@intercaf.ru> In-Reply-To: <20040701123615.GA57889@cicely12.cicely.de> References: <200406301904.44292.lesha@intercaf.ru> <20040701123615.GA57889@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello! =20 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 differen= t, 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 could= n't=20 > 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. =2D------[ 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"=20 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=20 characerts typed will return garbage - for example "F" returns "=FD"=20 but some characters work OK, and if I will type a working letter -=20 any one character following will also be OK. So if I type "AF"=20 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".
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407011805.55432.lesha>