Date: Wed, 18 Nov 2015 14:02:17 -0500 From: Burton Sampley <bsmply@gmail.com> To: Ian Lepore <ian@freebsd.org> Cc: Hans Petter Selasky <hps@selasky.org>, freebsd-usb@freebsd.org Subject: Re: How to access a FTDI usb device with a custom vendor and product id's Message-ID: <CANV5k3rgow8y=MUjLZW6P38qC6j_jupVsdRzmoZ1WJmL=kP8tQ@mail.gmail.com> In-Reply-To: <1447279455.91061.24.camel@freebsd.org> References: <CANV5k3rW62rGoXKD4m5meegEJ04T4b_v=QGCqBV5wuGxZjzCbg@mail.gmail.com> <56421DFD.6070503@selasky.org> <CANV5k3oRPP_-_SBz2fih0tA12BzoO9Ua%2BAfJGaE_CCNE3JzpHQ@mail.gmail.com> <564222D8.6020900@selasky.org> <CANV5k3qzn1UU=qvczGXUr3HQhxf0H8emKSV2XBDD%2B%2BfDr1yfjg@mail.gmail.com> <56422764.4040307@selasky.org> <CANV5k3pCx%2B3za1aPi=u5o36EvicgMgODL=eiTz-_s=nZLqbbAQ@mail.gmail.com> <1447277889.91061.22.camel@freebsd.org> <CANV5k3omAmBEy00Ny2uhc_NaqnDKbY1knNM8F_wWn2M-o7PHXQ@mail.gmail.com> <1447279455.91061.24.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
To All, A quick update: I really have no update. I have been attempting to get to the point where I can test the newly built module, but I can not get my system to the point where I can try the new module. I was able to compile it, but when I attempted to load the new module, I get the following error: # /usr/bin/grep uftdi /var/log/messages Nov 12 08:14:39 gentoo kernel: KLD uftdi.ko: depends on kernel - not available or version mismatch # I then updated my system and source code, now the kernel will not compile. I searched and found a few posts on one of the FreeBSD forums, which stated the problems might be resolved by "buildworld" first, then "buildkernel", "install kernel", reboot single-user and "installworld". After the latest update and reboot, "buildworld" fails. I don't want to move on to "buildkernel" until I can resolve the "buildworld" failure first. # /usr/sbin/freebsd-update fetch Looking up update.FreeBSD.org mirrors... none found. Fetching metadata signature for 10.2-RELEASE from update.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. Preparing to download files... done. No updates needed to update system to 10.2-RELEASE-p7. # Made sure my source code is proper and up to date: # /usr/local/bin/svn info Path: . Working Copy Root Path: /usr/src URL: https://svn.freebsd.org/base/stable/10 Relative URL: ^/stable/10 Repository Root: https://svn.freebsd.org/base Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f Revision: 291024 Node Kind: directory Schedule: normal Last Changed Author: gjb Last Changed Rev: 290995 Last Changed Date: 2015-11-17 13:22:56 -0500 (Tue, 17 Nov 2015) # /usr/local/bin/svn update /usr/src Updating '.': At revision 291024. # In between each failed "buildworld" attempt, I have followed the instructions for resetting /usr/obj in the handbook in the "buildworld" ( https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html) section. Here's where "buildworld" fails: --------------------------- ===> usr.sbin/pw (all) cc -O2 -pipe -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -c /usr/src/usr.sbin/pw/pw.c -o pw.o /usr/src/usr.sbin/pw/pw.c:90:21: error: tentative definition of variable with internal linkage has incomplete non-array type 'struct cargs' [-Werror,-Wtentative-definition-incomplete-type] static struct cargs arglist; ^ --------------------------- I assume my issues are outside of the scope of this specific list, but I can not test the simple changes to the uftdi.ko module if I can't get the module to build and load into the running kernel. Here's my current kernel (don't be deceived by the hostname, it's FreeBSD... the hardware used to run Gentoo and I was too lazy to change the hostname/IP on my internal DNS server - which is also running FreeBSD): # /usr/bin/uname -a FreeBSD gentoo.chicken.fish 10.2-RELEASE-p7 FreeBSD 10.2-RELEASE-p7 #0: Mon Nov 2 14:19:39 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 # What am I missing, or can someone please point me in the right direction of how to successfully "buildworld" so I can then, build a GENERIC kernel and install everything? BTW, I for the kernel build file, I simply made a copy of GENERIC, with a new name and no other modifications. Regards, -Burton On Wed, Nov 11, 2015 at 5:04 PM, Ian Lepore <ian@freebsd.org> wrote: > On Wed, 2015-11-11 at 16:57 -0500, Burton Sampley wrote: > > Ian, > > > > Thank you for your prompt reply. > > > > Looking at the usbdevs file, I found 0x2100, but there is no entry > > for > > 0x9e56, which is my device. So, I'm assuming that changing uftdi.c > > to the > > correct name for the VID will only solve part of my problem. I will > > further assume that I need to find the correct/proper entry for > > usbdevs as > > well. Is this a correct assumption? If so, then how/where can I > > find the > > proper entry for usbdevs? > > > > Here's the 2 closest entries: > > > > /* RT system products */ > > product RTSYSTEMS CT29B 0x9e54 FTDI compatible adapter > > product RTSYSTEMS SERIAL_VX7 0x9e52 FTDI compatible > > adapter > > > > For me, what appears to be the last piece of the puzzle is to find > > the > > correct name to place in the 3rd field. Based on the following: > > > > $ /usr/local/bin/sudo /usr/sbin/usbconfig -d ugen2.3 dump_device_desc > > ugen2.3: <CT-62B Radio Cable RT Systems> at usbus2, cfg=0 md=HOST > > spd=FULL > > (12Mbps) pwr=ON (90mA) > > > > bLength = 0x0012 > > bDescriptorType = 0x0001 > > bcdUSB = 0x0200 > > bDeviceClass = 0x0000 <Probed by interface class> > > bDeviceSubClass = 0x0000 > > bDeviceProtocol = 0x0000 > > bMaxPacketSize0 = 0x0008 > > idVendor = 0x2100 > > idProduct = 0x9e56 > > bcdDevice = 0x0600 > > iManufacturer = 0x0001 <RT Systems> > > iProduct = 0x0002 <CT-62B Radio Cable> > > iSerialNumber = 0x0003 <RTUI129S> > > bNumConfigurations = 0x0001 > > > > $ > > > > does "CT-62B" look reasonable? > > > > Yep, you'll have to add a new entry to usbdevs for the the 0x9e56 > device. CT62B seems like a good name (can't put the dash in the name > for C syntax reasons). > > -- Ian > > > > > Regards, > > > > -Burton > > > > On Wed, Nov 11, 2015 at 4:38 PM, Ian Lepore <ian@freebsd.org> wrote: > > > > > On Wed, 2015-11-11 at 16:28 -0500, Burton Sampley wrote: > > > > I added a line to the table, but it seems to have failed since I > > > > used > > > > the > > > > VID# instead of the VID# name. Where are the VID names mapped to > > > > the > > > > VID#'s? Apparently, I know enough about coding to be dangerous. > > > > I'll do > > > > some more digging to try to fix my own error. > > > > > > > > Here's a diff of the original source and my modified source: > > > > > > > > [/usr/src/sys/dev/usb/serial]$ /usr/bin/diff ./uftdi.c > > > > ./uftdi.c.ORIG > > > > 914d913 > > > > < UFTDI_DEV(2100, 9e56, 0), > > > > [/usr/src/sys/dev/usb/serial]$ > > > > > > > > Here's the compile splattage: > > > > > > The VID and PID names are in the file src/sys/dev/usb/usbdevs. > > > > > > -- Ian > > > > > > > > > > -- Your mind is like a parachute, it works much better when it is open.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANV5k3rgow8y=MUjLZW6P38qC6j_jupVsdRzmoZ1WJmL=kP8tQ>