DanNelson

Email: dnelson_1901@yahoo.com (also for completeness: dnelson@allantgroup.com dnelson@emsphone.com )

Local patches live at https://github.com/dnelson-1901/freebsd-src/

Everywhere I look, all I see is work.

Currently eyeballing the TL-WDR4300 wifi router, which doesn't matter anymore now that the mips arch was retired.

  • can't set basic front/back LEDs via gpioctl or /dev/led. gpio output mux not routed right? gpio pins not configured right? - done (gpio pins not configured right)
  • can't set switch LEDs via etherswitchcfg reg. might be pushing 32 bits instead of 16 bits per call? need to add a real api anyway - done (fix 32-bit operation, added api)
  • watchdog barks immediately after enabling, either from /usr/sbin/watchdog or ddb - done (delay needed between setting timeout and arming)
  • tcpdumping trunks that also have untagged packets is annoying. - fixed (implemented a “native vlan” interface that only shows untagged packets)
  • heavy USB activity wedges the system. softupdates/async makes it happen more. entire system hangs, no cam or usb timeout messages, but can break into ddb. interrupts?
  • can't filter packets with wifi in apbridge mode. maybe need a call to pfil_run_hooks in ieee80211_vap_pkt_send_dest, right after BPF_TAP? maybe steal bridge_pfil function?
  • freeradius wants to record login/logouts to a private wtmp file, but FreeBSD's utmpx functions have no way to let it do that. Need to make pututxline honor filename change requests made via setuxdb.
  • can't continue after breaking into ddb (c just returns to the ddb prompt)
  • zfs import panics:
panic: trap
panic+20 (?,80679fd4,a,1ef641) ra 804eba18 sp c36696a8 sz 32
trap+176c (?,?,?,?) ra 804d8428 sp c36696c8 sz 200
MipsKernGenException+ec (5,0,5,5) ra 80358730 sp c3669790 sz 200
strlen+10 (?,?,?,?) ra 802c7748 sp c3669858 sz 0
kvprintf+83c (a,?,c3669930,?) ra 802c7e98 sp c3669858 sz 192
vsnprintf+2c (0,0,?,c36699e0) ra c3cc6440 sp c3669918 sz 40
log_internal+98 (?,?,?,?) ra c3cc6854 sp c3669940 sz 64
spa_history_log_internal+10c (?,?,?,?) ra c3cc691c sp c3669980 sz 56
spa_history_log_version+9c (?,?,?,?) ra c3cb88f8 sp c36699b8 sz 72
spa_load+24c4 (?,2,?,?) ra c3cb8bcc sp c3669a00 sz 240
spa_load_best+bc (?,?,1,?) ra c3cbfae0 sp c3669af0 sz 72
spa_import+254 (?,?,?,?) ra c3d1a978 sp c3669b38 sz 144
zfs_ioc_pool_import+104 (?,?,?,?) ra c3d1f0f8 sp c3669bc8 sz 56
zfsdev_ioctl+6c0 (?,?,c3669d10,3) ra 801798bc sp c3669c00 sz 96
8017978c+130 (?,?,?,?) ra 802de848 sp c3669c60 sz 72
kern_ioctl+264 (?,?,?,?) ra 802dea40 sp c3669ca8 sz 88
sys_ioctl+128 (?,?,?,?) ra 804eacd8 sp c3669d00 sz 184
trap+a2c (?,?,?,?) ra 804d85e4 sp c3669db8 sz 200
MipsUserGenException+e8 (?,?,?,40670610) ra 0 sp c3669e80 sz 0
  • pmcstat -S instructions -T panics:
panic: vm_fault: fault on nofault entry, addr: c366b000
panic+20 (?,c3687000,0,807357d0) ra 804a2210 sp c36895f0 sz 32
vm_fault_hold+158 (80700000,?,?,0) ra 804a4870 sp c3689610 sz 200
vm_fault+9c (?,?,?,?) ra 804ea6a4 sp c36896d8 sz 48
trap+3f8 (?,?,?,?) ra 804d8428 sp c3689708 sz 200
MipsKernGenException+ec (c0966588,38,73746172,810ffff4) ra 804f2e50 sp c36897d0 sz 200
pmc_save_kernel_callchain+e4 (?,?,?,?) ra 8011533c sp c3689898 sz 8
pmc_process_interrupt+134 (?,?,?,?) ra 804f3a6c sp c36898a0 sz 32
804f38b0+1bc (?,?,?,?) ra 804f4114 sp c36898c0 sz 64
804f4000+114 (?,?,?,?) ra 8023ec74 sp c3689900 sz 48
intr_event_handle+98 (?,?,?,?) ra 804fdce4 sp c3689930 sz 48
cpu_intr+198 (c36899b0,?,?,?) ra 804d8888 sp c3689960 sz 56
MipsKernIntr+110 (?,?,?,?) ra 0 sp c3689998 sz 200
  • kernel stacks are missing call arguments
  • procstat -k doesn't show kernel stacks
  • kgdb can't do anything with vmcores (“Cannot access memory at address 0x0”)
  • When patched to build on mips, gcc6 and gcc7 generate broken floating-point emulation code in libgcc (BUT, replacing it with libc's softfloat.o works!)
  • When patched to build on mips, clang60 generates broken dynamic executables (BUT, it sometimes builds working static ones!)

  • dannelson.txt
  • Last modified: 2026/10/12 10:55
  • (external edit)