Re: umb0 broke in 6.9

2021-06-16 Thread Paul B. Henson

On 6/14/2021 4:54 PM, Stuart Henderson wrote:


find when the problem started .. with 6.9 userland you can probably get
away with just booting the relevant older kernel for a test for probably
most/maybe all of the way back to 6.8.


So I booted the 6.8 kernel, and everything seemed to be mostly working, 
but the umb interface still wasn't initialized properly :(. I was 
thinking I'd have to do a fresh install of 6.8 and start the test from 
there, but then I considered that one thing I still hadn't done was a 
cold power cycle. I have a remote console on the serial port of the 
system, but it doesn't have built-in remote power control and it's not 
hooked up to a remote control power switch, so it's not that convenient 
to deal with power.


I coordinated a cold power cycle and booted up the 6.8 kernel, and the 
umb interface worked :). I then booted the 6.9 kernel, and it also 
worked? By default the kernel allocates the device to the umsm driver 
(it would be nice if the umb driver took priority instead), so the first 
6.9 boot after the install used that driver until I disabled it and 
rebooted. I thought perhaps the 6.9 version of that driver put the card 
in a bad state, so I tried booting the 6.9 kernel with it enabled, and 
then booting it again with it disabled. But the umb interface was still 
working after that test.


So it seems that somehow the upgrade process put the hardware in a bad 
state where it would not initialize, and a cold power cycle seems to 
have sorted that out. I wasn't able to reproduce the issue doing some 
testing, so I guess I will write it off as "that's odd" and just be 
happy it seems to be working reliably now :).


Thanks much for your assistance looking at it…



Re: umb0 broke in 6.9

2021-06-14 Thread Stuart Henderson
On 2021/06/14 16:15, Paul B. Henson wrote:
> On Mon, Jun 14, 2021 at 08:07:15AM -, Stuart Henderson wrote:
> 
> > just add "#define UMB_DEBUG" to if_umb.c and send the full dmesg output.
> 
> Hmm, that's didn't work, I also needed to update umb_debug = 1 in the
> code? After that, I got a little output, full dmesg included below but
> the umb part looks like:

ah yes, thanks.

> umb0 at uhub0 port 3 configuration 1 interface 12 "Sierra Wireless,
> Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A"
> rev 2.10/0.06 addr 2
> umb0: NCM align=4 div=4 rem=0
> umb0: Only NTB16 format supported.
> umb0: -> snd MBIM_OPEN_MSG (tid 1)
> umb0: vers 1.0
> umb0: stop: reached state DOWN
> umb0: init: opening ...
> umb0: -> snd MBIM_OPEN_MSG (tid 2)
> umb0: init: opening ...
> umb0: -> snd MBIM_OPEN_MSG (tid 3)
> umb0: stop: reached state DOWN
> 
> This seems kind of like the original problem I had with the card when it
> was attached to the internal USB2 minipci slot rather than to the
> external USB3 one:
> 
> http://openbsd-archive.7691.n7.nabble.com/umb-device-SIM-has-no-PIN-td331358.html

ah, I was wondering if I'd broken something with the fcc auth change when
it moved to a combined quirks table (which is why I wanted that debug),
but reading that mail reminded me that EM7455 wasn't quite the same as
MC7455.. there were a few other changes in umb but looking at the
debug messages I don't think your device is using those.

> Maybe a change in the USB code broke it?

it's possible, there were changes to other parts of USB that did cause
problems for some umb devices, though the ones that were reported at the
time were fixed.

at this point if I had the device I'd probably try bisecting to try and
find when the problem started .. with 6.9 userland you can probably get
away with just booting the relevant older kernel for a test for probably
most/maybe all of the way back to 6.8. ftp.hostserver.de/archive has
daily amd64 snaps going back 3 months, which takes you before the umb
changes, but probably after some of the other usb stack changes. if it's
still failing with the earliest of those let me know and I can dig out
some older ones, or do a date-based checkout ("cvs up -D 2021/01/01"
etc) and try some builds yourself.


> 
> OpenBSD 6.9-stable (GENERIC.MP) #12: Mon Jun 14 15:54:43 PDT 2021
> r...@obsd-bld.pbhware.com:/sys/arch/amd64/compile/GENERIC.MP
> real mem = 4261011456 (4063MB)
> avail mem = 4116484096 (3925MB)
> User Kernel Config
> UKC> disable Humsm
> 361 umsm* disabled
> UKC> quit
> Continuing...
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xcff9f020 (7 entries)
> bios0: vendor coreboot version "v4.6.3" date 20171030
> bios0: PC Engines PC Engines apu3
> acpi0 at bios0: ACPI 4.0
> acpi0: sleep states S0 S1 S2 S4 S5
> acpi0: tables DSDT FACP SSDT TCPA APIC HEST SSDT SSDT HPET
> acpi0: wakeup devices PWRB(S4) PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) 
> UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4)
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD GX-412TC SOC, 998.40 MHz, 16-30-01
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
> 16-way L2 cache
> cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD GX-412TC SOC, 998.13 MHz, 16-30-01
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
> 16-way L2 cache
> cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: AMD GX-412TC SOC, 998.13 MHz, 16-30-01
> cpu2: 
> 

Re: umb0 broke in 6.9

2021-06-14 Thread Paul B. Henson
On Mon, Jun 14, 2021 at 08:07:15AM -, Stuart Henderson wrote:

> just add "#define UMB_DEBUG" to if_umb.c and send the full dmesg output.

Hmm, that's didn't work, I also needed to update umb_debug = 1 in the
code? After that, I got a little output, full dmesg included below but
the umb part looks like:

umb0 at uhub0 port 3 configuration 1 interface 12 "Sierra Wireless,
Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A"
rev 2.10/0.06 addr 2
umb0: NCM align=4 div=4 rem=0
umb0: Only NTB16 format supported.
umb0: -> snd MBIM_OPEN_MSG (tid 1)
umb0: vers 1.0
umb0: stop: reached state DOWN
umb0: init: opening ...
umb0: -> snd MBIM_OPEN_MSG (tid 2)
umb0: init: opening ...
umb0: -> snd MBIM_OPEN_MSG (tid 3)
umb0: stop: reached state DOWN

This seems kind of like the original problem I had with the card when it
was attached to the internal USB2 minipci slot rather than to the
external USB3 one:

http://openbsd-archive.7691.n7.nabble.com/umb-device-SIM-has-no-PIN-td331358.html

Maybe a change in the USB code broke it?


OpenBSD 6.9-stable (GENERIC.MP) #12: Mon Jun 14 15:54:43 PDT 2021
r...@obsd-bld.pbhware.com:/sys/arch/amd64/compile/GENERIC.MP
real mem = 4261011456 (4063MB)
avail mem = 4116484096 (3925MB)
User Kernel Config
UKC> disable Humsm
361 umsm* disabled
UKC> quit
Continuing...
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xcff9f020 (7 entries)
bios0: vendor coreboot version "v4.6.3" date 20171030
bios0: PC Engines PC Engines apu3
acpi0 at bios0: ACPI 4.0
acpi0: sleep states S0 S1 S2 S4 S5
acpi0: tables DSDT FACP SSDT TCPA APIC HEST SSDT SSDT HPET
acpi0: wakeup devices PWRB(S4) PBR4(S4) PBR5(S4) PBR6(S4) PBR7(S4) PBR8(S4) 
UOH1(S3) UOH2(S3) UOH3(S3) UOH4(S3) UOH5(S3) UOH6(S3) XHC0(S4)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD GX-412TC SOC, 998.40 MHz, 16-30-01
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD GX-412TC SOC, 998.13 MHz, 16-30-01
cpu1: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: AMD GX-412TC SOC, 998.13 MHz, 16-30-01
cpu2: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
16-way L2 cache
cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu2: disabling user TSC (skew=-144)
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: AMD GX-412TC SOC, 998.13 MHz, 16-30-01
cpu3: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PERFTSC,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 
16-way L2 cache
cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 4 pa 0xfec0, version 21, 24 pins
ioapic1 at mainbus0: apid 5 pa 

Re: umb0 broke in 6.9

2021-06-14 Thread Stuart Henderson
On 2021-06-13, Paul B. Henson  wrote:
> I just upgraded a box that has a cell data card in it and it no longer
> seems to work :(. The card is:
>
> umb0 at uhub0 port 3 configuration 1 interface 12 "Sierra Wireless,
> Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A"
> rev 2.10/0.06 addr 2
>
> The contents of /etc/hostname.umb0 are just:
>
>   apn r.ispsn
>
> The interface shows:
>
> umb0: flags=8811 mtu 1500
> index 6 priority 6 llprio 3
> roaming disabled registration unknown
> state down cell-class none
> SIM not initialized PIN required
> APN r.ispsn
> status: down
>
> There is no PIN on the SIM. It was working fine right before the upgrade.
> The only umb change I see in the changelog is:
>
> Added vid/pid table to umb(4) allowing matching to alternate configurations.
>
> I'm not sure what that means or if my config needs something changed to
> work again? Any suggestions appreciated. The card is in an external
> minipci adapter connected via USB3. The server is a PC Engines apu3 which
> actually has an internal minipci connector, but I couldn't get that to
> work as internally it was connected via USB2 and there were issues with
> that chipset. I vaguely recall it was actually failing something like
> this 8-/.
>
> Thanks...
>
>

Please build a kernel with UNB_DEBUG defined (easiest way is probably
just add "#define UMB_DEBUG" to if_umb.c and send the full dmesg output.
I don't think the changes made should affect your card but that would
let us check.




umb0 broke in 6.9

2021-06-13 Thread Paul B. Henson
I just upgraded a box that has a cell data card in it and it no longer
seems to work :(. The card is:

umb0 at uhub0 port 3 configuration 1 interface 12 "Sierra Wireless,
Incorporated Sierra Wireless MC7455 Qualcomm\M-. Snapdragon? X7 LTE-A"
rev 2.10/0.06 addr 2

The contents of /etc/hostname.umb0 are just:

apn r.ispsn

The interface shows:

umb0: flags=8811 mtu 1500
index 6 priority 6 llprio 3
roaming disabled registration unknown
state down cell-class none
SIM not initialized PIN required
APN r.ispsn
status: down

There is no PIN on the SIM. It was working fine right before the upgrade.
The only umb change I see in the changelog is:

Added vid/pid table to umb(4) allowing matching to alternate configurations.

I'm not sure what that means or if my config needs something changed to
work again? Any suggestions appreciated. The card is in an external
minipci adapter connected via USB3. The server is a PC Engines apu3 which
actually has an internal minipci connector, but I couldn't get that to
work as internally it was connected via USB2 and there were issues with
that chipset. I vaguely recall it was actually failing something like
this 8-/.

Thanks...