hi, On 2023/11/13 12:29, Makoto Fujiwara wrote: > Hi, > I have following device: > ----------------- > axen0 at uhub3 port 1 > axen0: ASIX (0x0b95) AX88179A (0x1790), rev 2.10/2.00, addr 3 > axen0: AX88179 > ukphy0 at axen0 phy 3: OUI 0x00e038, model 0x0006, rev. 1 > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto > axen0: Ethernet address .... > ----------------- > And running 10.99.10, > it emits following lines > > Nov 13 20:24:54 beebox-03 /netbsd: [ 154.8236912] axen0: autoconfiguration > error: invalid buffer(pkt#1), continue > > I put simple checking line as: > > ----------- > diff --git a/sys/dev/usb/if_axen.c b/sys/dev/usb/if_axen.c > index 423a87e5c541..6215db354c90 100644 > --- a/sys/dev/usb/if_axen.c > +++ b/sys/dev/usb/if_axen.c > @@ -793,6 +793,8 @@ axen_uno_rx_loop(struct usbnet *un, struct usbnet_chain > *c, uint32_t total_len) > if ((buf[0] != 0xee) || (buf[1] != 0xee)) { > aprint_error_dev(un->un_dev, > "invalid buffer(pkt#%d), continue\n", pkt_count); > + aprint_error_dev(un->un_dev, > + "%04d %02x %02x\n", __LINE__, buf[0], buf[1]); > if_statadd(ifp, if_ierrors, pkt_count); > return; > } > ----------- > > and then the lines show: > > Nov 13 20:25:03 beebox-03 /netbsd: [ 163.6740410] axen0: autoconfiguration > error: invalid buffer(pkt#1), continue > Nov 13 20:25:03 beebox-03 /netbsd: [ 163.6740410] axen0: autoconfiguration > error: 0797 00 08 > > so buf[0]:buf[1] expected 0xeeee is 0x0008. > > I've compared to openbsd: if_axen.c > https://raw.githubusercontent.com/openbsd/src/master/sys/dev/usb/if_axen.c > to N, and there are so many differencies. > > Does this (N) if_axen.c works on any installation ?
I've compared with freebsd. https://cgit.freebsd.org/src/plain/sys/dev/usb/net/if_axge.c says: > if ((sc->sc_flags & AXGE_FLAG_179A) != 0) { > /* > * 179A chip has two firmware modes that each use different > * transfer layouts for Ethernet over USB. The newer fw mode has > * larger rx packet headers which seem to > * accomodate for ethernet frames up to 9K length and a VLAN > * field for hardware tagging, but is not backward compatible > * with 178A/179 bulk transfer code due to the change in size > * and field alignments. The other fw mode uses the same packet > * headers as the older 178A/179 chips, which this driver uses. > * > * As we do not currently have VLAN hw tagging or jumbo support > * in this driver anyway, we're ok forcing 179A into its compat > * mode by default. > */ > axge_write_cmd_1(sc, AXGE_FW_MODE, AXGE_FW_MODE_178A179, 0); > } This might help us? I don't have 179A, I cannot try it out. > > Also, I've prepared GENERIC-axen with following conf: > ------- > include "arch/amd64/conf/GENERIC" > options AXEN_DEBUG > options MSGBUFSIZE=131072 > ------- > but No debug lines appears, please let me know what is wrong, Please raise axendebug in ddb or crash. # echo 'w/l axendebug 1' | crash -w > thanks