Re: Kernel panic: gpioctl list + odroid-c1

2022-05-10 Thread Brook Milligan


> On May 10, 2022, at 8:06 PM, Brook Milligan  wrote:
> 
> I have encountered a totally repeatable kernel panic by running "gpioctl 
> list” on an odroid-c1 board.
> 
> # name -a
> NetBSD armv7 9.99.96 NetBSD 9.99.96 (GENERIC) #0: Mon May  2 10:50:02 UTC 
> 2022  mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/evbarm/compile/GENERIC 
> evbarm
> 
> To investigate, I added some printf() to the gpiolist() function to see what 
> was happening in the loop through the pins.  Here is a bit of the output:
> 
> # ./gpioctl2 gpio0 list
> gpioctl.c::gpiolist()
> gpioctl.c::gpiolist(): gpio_npins=71
> gpioctl.c::gpiolist(): gpio_pin 0
>  0: gp_pin=0
>  0: gp_value=1
>  0: gp_name=GPIOX_0
> gpioctl.c::gpiolist(): gpio_pin 1
>  1: gp_pin=1
>  1: gp_value=1
>  1: gp_name=GPIOX_1
> 
> … < lots of pin output deleted > …
> 
> gpioctl.c::gpiolist(): gpio_pin 29
>  29: gp_pin=29
>  29: gp_value=1
>  29: gp_name=GPIOY_14
> gpioctl.c::gpiolist(): gpio_pin 30
> [  33.9588550] panic: divide by 0
> [  33.9588550] cpu0: Begin traceback...
> [  33.9588550] 0xbd7cdbd4: netbsd:db_panic+0x14
> [  33.9677710] 0xbd7cdbf4: netbsd:vpanic+0x114
> [  33.9677710] 0xbd7cdc0c: netbsd:panic+0x24
> [  33.9761750] 0xbd7cdc2c: netbsd:__aeabi_idiv0+0x18
> [  33.9822960] 0xbd7cdc4c: netbsd:meson_pinctrl_pin_read+0x88
> [  33.9822960] 0xbd7cdcec: netbsd:gpioioctl+0x4f4
> [  33.9902860] 0xbd7cdd24: netbsd:spec_ioctl+0x60
> [  33.9902860] 0xbd7cdd54: netbsd:VOP_IOCTL+0x50
> [  33.9991180] 0xbd7cde24: netbsd:vn_ioctl+0xd8
> [  34.0057320] 0xbd7cdeec: netbsd:sys_ioctl+0x47c
> [  34.0057320] 0xbd7cdfac: netbsd:syscall+0x188
> [  34.0135450] cpu0: End traceback...
> Stopped in pid 214.214 (gpioctl2) atnetbsd:cpu_Debugger+0x4:bx
>   
> r14
> db{0}>

One more piece of information.

src/sys/arch/arm/amlogic/meson8b_pinctrl.c includes the following code:

/*
 * GPIO banks. The values must match those in dt-bindings/gpio/meson8b-gpio.h
 */
enum {

… < deleted sections > …

GPIODV_9 = 30,
GPIODV_24,
GPIODV_25,
GPIODV_26,
GPIODV_27,
GPIODV_28,
GPIODV_29,

… < more deleted sections > …

};

… < deleted sections > …

static const struct meson_pinctrl_gpio meson8b_cbus_gpios[] = {

… < deleted sections > …

/* GPIODV */
CBUS_GPIO(GPIODV_24, 6, 24, 0, 24),
CBUS_GPIO(GPIODV_25, 6, 25, 0, 25),
CBUS_GPIO(GPIODV_26, 6, 26, 0, 26),
CBUS_GPIO(GPIODV_27, 6, 27, 0, 27),
CBUS_GPIO(GPIODV_28, 6, 28, 0, 28),
CBUS_GPIO(GPIODV_29, 6, 29, 0, 29),

It seems that GPIODV_9 does not occur in the second list; I would have expected 
it to the be first entry.  Is there a reason for it to be missing?

Could this be the cause of the panic?

Cheers,
Brook



daily CVS update output

2022-05-10 Thread NetBSD source update


Updating src tree:
P src/bin/date/date.1
P src/doc/3RDPARTY
P src/sbin/bioctl/bioctl.c
U src/sys/arch/arm/apple/apple_iic.c
P src/sys/arch/arm/apple/apple_pmgr.c
U src/sys/arch/arm/apple/apple_smc.c
P src/sys/arch/arm/apple/files.apple
P src/sys/arch/evbarm/conf/GENERIC64
P src/sys/dev/biovar.h
P src/sys/dev/ic/mfi.c
P src/sys/dev/usb/usbdevs
P src/sys/dev/usb/usbdevs.h
P src/sys/dev/usb/usbdevs_data.h
P src/sys/net/if_pppoe.c

Updating xsrc tree:


Killing core files:



Updating release-8 src tree (netbsd-8):

Updating release-8 xsrc tree (netbsd-8):



Updating release-9 src tree (netbsd-9):

Updating release-9 xsrc tree (netbsd-9):




Updating file list:
-rw-rw-r--  1 srcmastr  netbsd  43061014 May 11 03:09 ls-lRA.gz


Kernel panic: gpioctl list + odroid-c1

2022-05-10 Thread Brook Milligan
I have encountered a totally repeatable kernel panic by running "gpioctl list” 
on an odroid-c1 board.

# name -a
NetBSD armv7 9.99.96 NetBSD 9.99.96 (GENERIC) #0: Mon May  2 10:50:02 UTC 2022  
mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/evbarm/compile/GENERIC evbarm

To investigate, I added some printf() to the gpiolist() function to see what 
was happening in the loop through the pins.  Here is a bit of the output:

# ./gpioctl2 gpio0 list
gpioctl.c::gpiolist()
gpioctl.c::gpiolist(): gpio_npins=71
gpioctl.c::gpiolist(): gpio_pin 0
  0: gp_pin=0
  0: gp_value=1
  0: gp_name=GPIOX_0
gpioctl.c::gpiolist(): gpio_pin 1
  1: gp_pin=1
  1: gp_value=1
  1: gp_name=GPIOX_1

… < lots of pin output deleted > …

gpioctl.c::gpiolist(): gpio_pin 29
  29: gp_pin=29
  29: gp_value=1
  29: gp_name=GPIOY_14
gpioctl.c::gpiolist(): gpio_pin 30
[  33.9588550] panic: divide by 0
[  33.9588550] cpu0: Begin traceback...
[  33.9588550] 0xbd7cdbd4: netbsd:db_panic+0x14
[  33.9677710] 0xbd7cdbf4: netbsd:vpanic+0x114
[  33.9677710] 0xbd7cdc0c: netbsd:panic+0x24
[  33.9761750] 0xbd7cdc2c: netbsd:__aeabi_idiv0+0x18
[  33.9822960] 0xbd7cdc4c: netbsd:meson_pinctrl_pin_read+0x88
[  33.9822960] 0xbd7cdcec: netbsd:gpioioctl+0x4f4
[  33.9902860] 0xbd7cdd24: netbsd:spec_ioctl+0x60
[  33.9902860] 0xbd7cdd54: netbsd:VOP_IOCTL+0x50
[  33.9991180] 0xbd7cde24: netbsd:vn_ioctl+0xd8
[  34.0057320] 0xbd7cdeec: netbsd:sys_ioctl+0x47c
[  34.0057320] 0xbd7cdfac: netbsd:syscall+0x188
[  34.0135450] cpu0: End traceback...
Stopped in pid 214.214 (gpioctl2) atnetbsd:cpu_Debugger+0x4:bx  
r14
db{0}>

I’m guessing this is a device tree problem, given the reference to 
meson_pinctl_pin_read(), but I have no idea how the kernel data structure is 
created or what to do about this.

For reference, u-boot loads the following device tree before booting the 
kernel: meson8b-odroidc1.dtb.

Any thoughts would be greatly appreciated.

Thanks a lot.

Cheers,
Brook

Re: Configure Serial Adapter

2022-05-10 Thread Robert Nestor
The USB Serial cable I’m trying to use came from Amazon.  According to their 
description it uses the PL2303 chipset, so ...

Following Michael’s advice I added this line to sys/dev/usb/usbdevs where other 
Prolific devices were defined:

product PROLIFIC PL2303Y 0x23c3 PL2303 Serial adapter (Null modem)

I regenerated the header files and added these lines to the device table in 
sys/dev/usb/uplcom.c:

/* Prolific USB to serial null modem cable */
{ USB_VENDOR_PROLIFIC, USB_PRODUCT_PROLIFIC_PL2303Y },

Rebuilt the GENERIC kernel and copied to to / and rebooted my system.  I get 
this result:

[ 4.235870] uplcom0 at uhub1 port 1
[ 4.235870] uplcom0: Prolific Technology Inc. (0x67b) USB-Serial Controller 
(0x23c3), rev 2.00/3.05, addr 1
[ 4.245877] uplcom0: autoconfiguration error: reset failed, NOMEM

Did I miss something that is leading to this error? 

-bob

re: Radeon HD 5450?

2022-05-10 Thread matthew green
Phil Nelson writes:
> Hi All,
>
>I've been trying to get -current running on a new Dell Precision
> 3650.  It is a UEFI boot only machine and when booting -current
> with a Radeon HD 5450 installed (which works great on 9.2 on
> an Dell Optiplex 7040) it panics when it can't find the Radeon BIOS.
>
> The messages at this point are:
>
>   kern info: [drm] register mmio base: 0x7090
>   kern info: [drm] register mmio size: 131072
>   {drm:netbsd:radeon_get_bios+0x480} *ERROR Unable to locate a BIOS ROM
>   radeon0: autoconfiguration error: error: Fatal error during GPU init
>   radeon0: autoconfiguration error: unable to register drm: 22
>   panic: cnopen: no console device
>   ...
>
> Is the 5450 too old a device for the UEFI boot only machine or 
> is there a way to get the BIOS address for the autoconfiguration?

i can't easily check for a couple of weeks, but i have a system
i think i had to use UEFI for that had a 5450.  it didn't fail
entirely like the above, it failed the "ring 3" test, and
disabled acceleration.  this mean eg, X worked ok, but many things
use a lot of CPU.  fortunately, this is a zen3 system so it's got
a lot of CPU -- would cost about 1.5 cpus to play a 1080p video.

this system has a nouveau 730 in it now, and everything is better
except one time libdrm_nouveau triggered an assert() and X crashed.
(an operation that should have a resource available didn't have it,
and the assert() tripped this wanted invariant.  i don't have the
details handy.)

the 5450 is old enough that while pcie shouldn't have these sorts
of problems, i've had modern systems fail with pcie gpus, and i've
had newer gpus fail in older pcie systems -- i believe it was the
radeon RX 550 that caused my (old) core2 system to not boot.

do you have anything else handy to test?  gpus are crazy stupid
prices these days :-(


.mrg.


Radeon HD 5450?

2022-05-10 Thread Phil Nelson
Hi All,

   I've been trying to get -current running on a new Dell Precision
3650.  It is a UEFI boot only machine and when booting -current
with a Radeon HD 5450 installed (which works great on 9.2 on
an Dell Optiplex 7040) it panics when it can't find the Radeon BIOS.

The messages at this point are:

  kern info: [drm] register mmio base: 0x7090
  kern info: [drm] register mmio size: 131072
  {drm:netbsd:radeon_get_bios+0x480} *ERROR Unable to locate a BIOS ROM
  radeon0: autoconfiguration error: error: Fatal error during GPU init
  radeon0: autoconfiguration error: unable to register drm: 22
  panic: cnopen: no console device
  ...

Is the 5450 too old a device for the UEFI boot only machine or 
is there a way to get the BIOS address for the autoconfiguration?

--Phil 



NetBSD Security Advisory 2022-001:

2022-05-10 Thread NetBSD Security-Officer


-BEGIN PGP MESSAGE-

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
H9zz77tfeP57a1++NfvAq48OZgbfPPnj/wE=
=DPef
-END PGP MESSAGE-



Re: Configure Serial Adapter

2022-05-10 Thread Michael van Elst
rnes...@mac.com (Robert Nestor) writes:

>capture system).  The USB-Serial device shows up on boot on the capture =
>system as:

>ugen0: Prolific Technology Inc. (0x67b) USB-Serial Controller (0x23c3), =
>rev 2.00/3.05, addr 1

Means, it doesn't really show up.

>I=92m thinking I need to build a new kernel to get it to show up as a =
>com device before I can capture the serial input.  Can someone give me =
>the lines that need to be include in the GENERIC config file to =
>accomplish this?


The driver has a vendor/product list builtin, and that device doesn't
match anything in that list.

You should
- add this to sys/dev/usb/usbdevs
- Regen the header files with 'make -f Makefile.usbdevs TOOL_AWK=awk'
- add the device to the table in sys/dev/usb/uplcom.c


>And since I=92ve never done this before can someone tell me what I need =
>to do on the test system to direct console output over the serial and =
>what need to do on the capture system to get the results?

That depends a bit on the system. For a traditional PC booting with BIOS
you'd use 'fdisk -c /usr/mdec/mbr_com0' to install a bootblock for
serial console.


Greetings,


Configure Serial Adapter

2022-05-10 Thread Robert Nestor
Working on getting the console output from a system that consistently fails to 
boot amd64 -current (it boots and runs 9.2 without any issues).  I’ve got a 
serial (null modem) cable, but I need to go from a serial port (on the test 
system)  to a USB-Serial converted port (on the capture system).  The 
USB-Serial device shows up on boot on the capture system as:

ugen0: Prolific Technology Inc. (0x67b) USB-Serial Controller (0x23c3), rev 
2.00/3.05, addr 1

I’m thinking I need to build a new kernel to get it to show up as a com device 
before I can capture the serial input.  Can someone give me the lines that need 
to be include in the GENERIC config file to accomplish this?

And since I’ve never done this before can someone tell me what I need to do on 
the test system to direct console output over the serial and what need to do on 
the capture system to get the results?

Hoping to try and get some useful data here before the 10.0 release as I’m 
pretty sure I won’t be the only one with this particular problem.

Thanks,
-bob

Re: Supported graphics (in HEAD)

2022-05-10 Thread Tom Ivar Helbekkmo
matthew green  writes:

> can you file a PR about this?

Done.  kern/56826

> i don't see the problem on 750 or 730 cards.

I didn't think of that...  I do have a couple of other graphics boards
on the shelf, but as they're all Nvidia, I figured it didn't make sense
to try them.  Guess I'll do some experimenting tonight, to see if one of
the others can avoid this problem for me.  (They're even older than the
one I'm using, but it's not as if I need anything super fancy.  I'd like
to be able to use Youtube in the browser from time to time, but that's
the most advanced graphics need I have.)

-tih
-- 
Most people who graduate with CS degrees don't understand the significance
of Lisp.  Lisp is the most important idea in computer science.  --Alan Kay