On Mon, Sep 24, 2018 at 03:34:59AM +0300, Artturi Alm wrote: > On Sat, Nov 29, 2014 at 09:42:51PM +0100, Mark Kettenis wrote: > > Recent Oracle SPARC machines have a USB gadget to talk to the Service > > Processor (ILOM). This gadget supports both RNDIS and CDC Ethernet. > > The RNDIS bits uncovered a bug in urndis(4). When urndis_ctrl_set() > > sets up the REMOTE_NDIS_SET_MSG command it sets up msg->rm_infobuflen, > > it subsequently overwrites its contents. Apparently many RNDIS > > devices don't care, but this hardware sends a response back that > > indicates the command wasn't accepted. Diff below fixes this problem. > > It matches what Linux does. > > > > Unfortunately, this isn't enough to make the gadget work in RNDIS mode. > > > > I'd appreciate it if people using urndis(4) could test this diff. > > > > Hi, > > just found your mail, i think urndis(4) is not entirely written with > these in mind: > defined(__STRICT_ALIGNMENT) || _BYTE_ORDER != _LITTLE_ENDIAN > > did you ever try with a diff like below? > > -Artturi >
sorry for the 'spam', on a second read of your message, i think it might be just more strict than ie. android, not allowing the _SET_MSG from urndis_attach(), because it's "out-of-order" with regards to msg sent by urndis_ctrl_init(). if it's not in the "spec", atleast MS[0] does show things done differently, == init first before setting data packet filter. -Artturi [0]: https://docs.microsoft.com/en-us/windows-hardware/drivers/network/example-connectionless--802-3--initialization-sequence