On Wed, Aug 14, 2019 at 08:45:25AM -0600, Theo de Raadt wrote: > Otto Moerbeek <o...@drijf.net> wrote: > > > Hi, > > > > I have a navigation device (Navilock NL-8002U USB 2.0 Multi GNSS > > Receiver) that registers itself as a umodem. This device starts > > spitting out data the moment you plug it in. > > > > On amd64 it seems to behave, but on armv7 I see two (maybe related) > > problems. > > > > The first problem: > > $ doas cu -l cuaU0 gets me: > > cu: tcsetattr: Operation not permitted > > $ > > > > snippet of ktrace: > > 98810 cu CALL fcntl(3,F_ISATTY) > > 98810 cu RET fcntl 1 > > 98810 cu CALL kbind(0xbfff0d64,12,0x597af14c5495c4bc) > > 98810 cu RET kbind 0 > > 98810 cu CALL ioctl(3,TIOCEXCL,0x2a5308b6) > > 98810 cu RET ioctl 0 > > 98810 cu CALL ioctl(3,TIOCGETA,0xb47a014) > > 98810 cu RET ioctl 0 > > 98810 cu CALL kbind(0xbfff0d64,12,0x597af14c5495c4bc) > > 98810 cu RET kbind 0 > > 98810 cu CALL kbind(0xbfff0d64,12,0x597af14c5495c4bc) > > 98810 cu RET kbind 0 > > 98810 cu CALL ioctl(3,TIOCSETAF,0xbfff0dd0) > > 98810 cu RET ioctl -1 errno 1 Operation not permitted > > > > This is tcsetattr doing TCSAFLUSH > > > > A quick debufg statement showed fp->f_type == DTYPE_VNODE && > > (vp->v_flag & VISTTY) being true... > > I think the open() against ucomopen() proceeded, but immediately > encountered some failure, probably ucom_do_open() failed at that > moment > > As in, the usb stack is quite broken. > > In two circumstances, I am using old USB2 hubs to make USB3 ports > reliable. The situation is pretty dire.
Yes, that worked as a workaround in my case as well. Maybe the problem is triggered when attaching this device directly to a root hub. -Otto