DanNelson
Email: <dnelson_1901 AT SPAMFREE yahoo DOT com> (also for completeness: <dnelson AT SPAMFREE allantgroup DOT com> <dnelson AT SPAMFREE emsphone DOT 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!)