Skip to content

Instantly share code, notes, and snippets.

@cleverca22
Last active December 3, 2016 23:06
Show Gist options
  • Save cleverca22/c5fd78a10eb5bf4fbca67111a0007ac4 to your computer and use it in GitHub Desktop.
Save cleverca22/c5fd78a10eb5bf4fbca67111a0007ac4 to your computer and use it in GitHub Desktop.
[ 7.845612] sdhci: Copyright(c) Pierre Ossman
[ 7.850627] sdhost: log_buf @ bb013000 (fb013000)
[ 7.914381] mmc0: sdhost-bcm2835 loaded - DMA enabled (>1)
[ 7.922608] mmc-bcm2835 3f300000.mmc: mmc_debug:0 mmc_debug2:0
[ 7.928590] mmc-bcm2835 3f300000.mmc: DMA channel allocated
[ 7.972273] mmc0: host does not support reading read-only switch, assuming write-enable
Entering kdb (current=0xb9cf8000, pid 1) on processor 2 Oops: (null)
due to oops @ 0x804937ac
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.4.26 #1-NixOS
Hardware name: BCM2709
task: b9cf8000 ti: b9ce2000 task.ti: b9ce2000
PC is at brcmvirt_gpio_get+0x1c/0x30
LR is at _gpiod_get_raw_value+0x38/0xf0
pc : [<804937ac>] lr : [<8048ebec>] psr: a0000013
sp : b9ce3c50 ip : b9ce3c60 fp : b9ce3c5c
r10: b9db9a10 r9 : b78a0414 r8 : 80a7050c
r7 : ae7090f4 r6 : 80bb63c8 r5 : 80bb63c8 r4 : b782f8c0
r3 : bbc4c000 r2 : ffff0001 r1 : 00000000 r0 : b9e87c10
Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5383d Table: 0000406a DAC: 00000055
CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.4.26 #1-NixOS
Hardware name: BCM2709
[<8001740c>] (unwind_backtrace) from [<80013980>] (show_stack+0x20/0x24)
[<80013980>] (show_stack) from [<8045b158>] (dump_stack+0xcc/0x110)
[<8045b158>] (dump_stack) from [<80010650>] (show_regs+0x1c/0x20)
[<80010650>] (show_regs) from [<800bccb0>] (kdb_main_loop+0x350/0x7c4)
[<800bccb0>] (kdb_main_loop) from [<800bfc50>] (kdb_stub+0x2d8/0x53c)
[<800bfc50>] (kdb_stub) from [<800b5508>] (kgdb_cpu_enter+0x494/0x844)
[<800b5508>] (kgdb_cpu_enter) from [<800b5b18>] (kgdb_handle_exception+0x108/0x21c)
[<800b5b18>] (kgdb_handle_exception) from [<80016968>] (kgdb_notify+0x40/0x90)
[<80016968>] (kgdb_notify) from [<800435b0>] (notifier_call_chain+0x54/0x94)
[<800435b0>] (notifier_call_chain) from [<80043848>] (notify_die+0x48/0x54)
[<80043848>] (notify_die) from [<80013aac>] (die+0x128/0x468)
[<80013aac>] (die) from [<80013e14>] (arm_notify_die+0x28/0x60)
[<80013e14>] (arm_notify_die) from [<80009260>] (do_DataAbort+0xc0/0xc4)
[<80009260>] (do_DataAbort) from [<8071689c>] (__dabt_svc+0x3c/0x60)
Exception stack(0xb9ce3c00 to 0xb9ce3c48)
3c00: b9e87c10 00000000 ffff0001 bbc4c000 b782f8c0 80bb63c8 80bb63c8 ae7090f4
3c20: 80a7050c b78a0414 b9db9a10 b9ce3c5c b9ce3c60 b9ce3c50 8048ebec 804937ac
3c40: a0000013 ffffffff
[<8071689c>] (__dabt_svc) from [<804937ac>] (brcmvirt_gpio_get+0x1c/0x30)
[<804937ac>] (brcmvirt_gpio_get) from [<8048ebec>] (_gpiod_get_raw_value+0x38/0xf0)
[<8048ebec>] (_gpiod_get_raw_value) from [<8048ed64>] (gpiod_get_value_cansleep+0x20/0x44)
[<8048ed64>] (gpiod_get_value_cansleep) from [<805dc250>] (gpio_led_get+0x1c/0x2c)
[<805dc250>] (gpio_led_get) from [<805dacc8>] (led_update_brightness+0x28/0x3c)
[<805dacc8>] (led_update_brightness) from [<805db4f8>] (led_classdev_register.part.0+0x9c/0xb8)
[<805db4f8>] (led_classdev_register.part.0) from [<805db650>] (led_classdev_register+0xf4/0x13c)
[<805db650>] (led_classdev_register) from [<805dc360>] (create_gpio_led+0x100/0x184)
[<805dc360>] (create_gpio_led) from [<805dc4c8>] (gpio_led_probe+0xe4/0x39c)
[<805dc4c8>] (gpio_led_probe) from [<804f71b8>] (platform_drv_probe+0x5c/0xc0)
[<804f71b8>] (platform_drv_probe) from [<804f5888>] (driver_probe_device+0x214/0x308)
[<804f5888>] (driver_probe_device) from [<804f5a18>] (__driver_attach+0x9c/0xa0)
[<804f5a18>] (__driver_attach) from [<804f3950>] (bus_for_each_dev+0x78/0xac)
[<804f3950>] (bus_for_each_dev) from [<804f510c>] (driver_attach+0x2c/0x30)
[<804f510c>] (driver_attach) from [<804f4d1c>] (bus_add_driver+0x1b4/0x22c)
[<804f4d1c>] (bus_add_driver) from [<804f5fb4>] (driver_register+0x88/0x108)
[<804f5fb4>] (driver_register) from [<804f70c8>] (__platform_driver_register+0x50/0x58)
[<804f70c8>] (__platform_driver_register) from [<80a27218>] (gpio_led_driver_init+0x1c/0x20)
[<80a27218>] (gpio_led_driver_init) from [<80009770>] (do_one_initcall+0xb0/0x210)
[<80009770>] (do_one_initcall) from [<809f0fd0>] (kernel_init_freeable+0x224/0x2c8)
[<809f0fd0>] (kernel_init_freeable) from [<8071108c>] (kernel_init+0x1c/0xf8)
[<8071108c>] (kernel_init) from [<8000fac8>] (ret_from_fork+0x14/0x2c)
more>
[2]kdb>
08:05:08.842360 IP 192.168.2.142.49153 > 192.168.2.1.69: 35 RRQ "9080d9b6/start.elf" octet tsize 0
08:05:08.864438 IP 192.168.2.142.49154 > 192.168.2.1.69: 38 RRQ "9080d9b6/autoboot.txt" octet tsize 0
08:05:08.867723 IP 192.168.2.142.49155 > 192.168.2.1.69: 36 RRQ "9080d9b6/config.txt" octet tsize 0
08:05:08.870531 IP 192.168.2.142.49156 > 192.168.2.1.69: 38 RRQ "9080d9b6/recovery.elf" octet tsize 0
08:05:08.873071 IP 192.168.2.142.49157 > 192.168.2.1.69: 35 RRQ "9080d9b6/start.elf" octet tsize 0
08:05:10.302288 IP 192.168.2.142.49158 > 192.168.2.1.69: 35 RRQ "9080d9b6/fixup.dat" octet tsize 0
08:05:10.450338 IP 192.168.2.142.49153 > 192.168.2.1.69: 38 RRQ "9080d9b6/recovery.elf" octet tsize 0
08:05:10.452944 IP 192.168.2.142.49154 > 192.168.2.1.69: 36 RRQ "9080d9b6/config.txt" octet tsize 0
08:05:10.457081 IP 192.168.2.142.49155 > 192.168.2.1.69: 37 RRQ "9080d9b6/dt-blob.bin" octet tsize 0
08:05:10.493625 IP 192.168.2.142.49156 > 192.168.2.1.69: 38 RRQ "9080d9b6/recovery.elf" octet tsize 0
08:05:10.495685 IP 192.168.2.142.49157 > 192.168.2.1.69: 36 RRQ "9080d9b6/config.txt" octet tsize 0
08:05:10.722009 IP 192.168.2.142.49158 > 192.168.2.1.69: 37 RRQ "9080d9b6/bootcfg.txt" octet tsize 0
08:05:10.724349 IP 192.168.2.142.49159 > 192.168.2.1.69: 37 RRQ "9080d9b6/cmdline.txt" octet tsize 0
08:05:10.727145 IP 192.168.2.142.49160 > 192.168.2.1.69: 39 RRQ "9080d9b6/result/kernel" octet tsize 0
08:05:10.729954 IP 192.168.2.142.49161 > 192.168.2.1.69: 38 RRQ "9080d9b6/armstub8.bin" octet tsize 0
08:05:10.733984 IP 192.168.2.142.49162 > 192.168.2.1.69: 41 RRQ "9080d9b6/armstub8-32.bin" octet tsize 0
08:05:10.736239 IP 192.168.2.142.49163 > 192.168.2.1.69: 38 RRQ "9080d9b6/armstub7.bin" octet tsize 0
08:05:10.738727 IP 192.168.2.142.49164 > 192.168.2.1.69: 37 RRQ "9080d9b6/armstub.bin" octet tsize 0
08:05:10.740973 IP 192.168.2.142.49165 > 192.168.2.1.69: 39 RRQ "9080d9b6/result/kernel" octet tsize 0
08:05:12.534998 IP 192.168.2.142.49166 > 192.168.2.1.69: 32 RRQ "9080d9b6/initrd" octet tsize 0
08:05:18.244536 IP 192.168.2.142.49167 > 192.168.2.1.69: 45 RRQ "9080d9b6/bcm2710-rpi-3-b.dtb" octet tsize 0
08:05:18.348420 IP 192.168.2.142.49168 > 192.168.2.1.69: 36 RRQ "9080d9b6/config.txt" octet tsize 0
08:05:18.350896 IP 192.168.2.142.49169 > 192.168.2.1.69: 54 RRQ "9080d9b6/overlays/pi3-disable-bt.dtbo" octet tsize 0
2016-12-03 18:57:20 < clever> and bcm2710-rpi-3-b.dtb is present
2016-12-03 18:57:32 < viric> it's not about being present
2016-12-03 18:57:35 < viric> it has to match the kernel
2016-12-03 18:57:52 < viric> (I had old dtbs and my machine didn't boot)
2016-12-03 18:57:58 < viric> and yes - they had the same names
2016-12-03 18:57:58 < clever> ah
2016-12-03 18:58:09 < clever> i'm using the dtb from the firmware repo, let me check the kernel build
2016-12-03 18:58:20 < viric> the kernel store path should have them
2016-12-03 18:58:27 < viric> - yes, it's a shame nixos does not copy them. :)
2016-12-03 18:58:41 < viric> I could have saved me enough troubles by adding that 'cp'
2016-12-03 18:58:55 < clever> i thought that the entire point of DT, is that the kernel can take a DT in and configure itself correctly
2016-12-03 18:59:20 < viric> clever: the DTs are per-kernel. DTBs are to make a single kernel binary to boot in different boards
2016-12-03 19:00:10 < viric> what is in the DT and what not varies from version to version of linux
2016-12-03 19:00:36 < Dezgeg> no, DTs are _supposed_ to be independent of the kernel version, it's just that apparently the raspberry people failed to adhere to that
2016-12-03 19:01:17 < viric> aaaah
2016-12-03 19:01:20 < viric> :)
2016-12-03 19:01:43 < viric> let's see if that helps clever
2016-12-03 19:02:09 < Dezgeg> in the mainline world you do get yelled at if you try to break old dtbs (except if you're an important person enough)
2016-12-03 19:02:17 < viric> ok
2016-12-03 19:02:19 < clever> heh
2016-12-03 19:02:30 < viric> I should raise my expectations.
2016-12-03 19:03:18 < clever> i read the source code, and the area that is failing appears to get the GPIO address by asking the firmware over the mailbox
2016-12-03 19:03:24 < clever> which sort of defeats the entire point of DT
2016-12-03 19:03:36 < clever> and shouldnt be capable of failing this badly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment