SG-3100 LEDs not switching
-
(I'm posting a few of these, because I couldn't find any SG-3100 specific 2.5.0 reports, and finally took the dive. Other than these little issues ("little" if you don't care about the crypto hw accel), it was an easy upgrade and has been pretty stable.)
During boot sequence, the LEDs usually blink Circle/Square/Diamond and then slowly blink Square. Mine just quickly blinks Circle/Square even after completing the boot sequence.
It appears the default device is /dev/gpioc0; however, for whatever reason my LEDs are being controlled by /dev/gpioc2. There's a lot of console boot errors referencing gpio, I've included the relevant info below. I can't seem to find a specific bug in any of the SG-3100 init rc scripts that control the LED lights (considering I can't seem to figure out where the init system is controlling the lights during the boot sequence).
If this is actually a bug, and not just me, I can submit a bug report to redmine.
So, in order to actually change the LEDs I have to do something like this:
/sbin/sysctl dev.gpio.2.led.1.pwm=0 /usr/sbin/gpioctl -f /dev/gpioc2 3 duty 0
GPIO info
[2.5.0-DEVELOPMENT][root@pfSense.home]/: sysctl dev.gpio dev.gpio.2.led.2.T2: 0 dev.gpio.2.led.2.DT: 0 dev.gpio.2.led.2.T1-T3: 520 dev.gpio.2.led.2.pwm: 0 dev.gpio.2.led.1.T2: 0 dev.gpio.2.led.1.DT: 0 dev.gpio.2.led.1.T1-T3: 520 dev.gpio.2.led.1.pwm: 0 dev.gpio.2.led.0.T2: 0 dev.gpio.2.led.0.DT: 0 dev.gpio.2.led.0.T1-T3: 520 dev.gpio.2.led.0.pwm: 1 dev.gpio.2.pin.8.T4: 0 dev.gpio.2.pin.8.T0: 0 dev.gpio.2.pin.7.T4: 0 dev.gpio.2.pin.7.T0: 0 dev.gpio.2.pin.6.T4: 0 dev.gpio.2.pin.6.T0: 0 dev.gpio.2.pin.5.T4: 0 dev.gpio.2.pin.5.T0: 0 dev.gpio.2.pin.4.T4: 0 dev.gpio.2.pin.4.T0: 0 dev.gpio.2.pin.3.T4: 0 dev.gpio.2.pin.3.T0: 0 dev.gpio.2.pin.2.T4: 0 dev.gpio.2.pin.2.T0: 0 dev.gpio.2.pin.1.T4: 0 dev.gpio.2.pin.1.T0: 0 dev.gpio.2.pin.0.T4: 0 dev.gpio.2.pin.0.T0: 0 dev.gpio.2.%parent: iicbus0 dev.gpio.2.%pnpinfo: name=is31fl3199 compat=issi,is31fl3199 dev.gpio.2.%location: addr=0xce dev.gpio.2.%driver: gpio dev.gpio.2.%desc: ISSI IS31FL3199 9 channel light effect LED driver dev.gpio.1.%parent: simplebus1 dev.gpio.1.%pnpinfo: name=gpio@18140 compat=marvell,armada-370-gpio dev.gpio.1.%location: dev.gpio.1.%driver: gpio dev.gpio.1.%desc: Marvell Integrated GPIO Controller dev.gpio.0.%parent: simplebus1 dev.gpio.0.%pnpinfo: name=gpio@18100 compat=marvell,armada-370-gpio dev.gpio.0.%location: dev.gpio.0.%driver: gpio dev.gpio.0.%desc: Marvell Integrated GPIO Controller dev.gpio.%parent: [2.5.0-DEVELOPMENT][root@pfSense.home]/usr: gpioctl -l -v pin 00: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 01: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 02: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 03: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 04: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 05: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 06: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 07: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 08: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 09: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 10: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 11: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 12: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 13: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 14: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 15: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 16: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 17: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 18: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 19: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 20: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 21: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 22: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 23: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 24: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 25: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 26: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 27: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 28: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 29: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 30: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 31: 1 <>, caps:<IN,OUT,OD,PP,TS,PU,PD,II,IO> pin 32: -1 <>, caps:<> [2.5.0-DEVELOPMENT][root@pfSense.home]/usr: gpioctl -f /dev/gpioc2 -l -v pin 00: 0 R 0<PWM>, caps:<PWM> pin 01: 0 G 0<PWM>, caps:<PWM> pin 02: 0 B 0<PWM>, caps:<PWM> pin 03: 0 R 1<PWM>, caps:<PWM> pin 04: 0 G 1<PWM>, caps:<PWM> pin 05: 0 B 1<PWM>, caps:<PWM> pin 06: 0 R 2<PWM>, caps:<PWM> pin 07: 0 G 2<PWM>, caps:<PWM> pin 08: 0 B 2<PWM>, caps:<PWM>
Uname
[2.5.0-DEVELOPMENT][root@pfSense.home]/usr: uname -a FreeBSD pfSense.home 12.1-STABLE FreeBSD 12.1-STABLE 45a2df114fa(factory-devel-12) pfSense-SG-3100 arm
Console Messages
... mpic0: <Marvell Integrated Interrupt Controller> mem 0x20a00-0x20ccf,0x21070-0x210c7 irq 17 on simplebus1 gpio0: <Marvell Integrated GPIO Controller> mem 0x18100-0x1813f,0x181c0-0x181c7 irq 9,10,11,12 on simplebus1 gpio0: 4 IRQs available gpio0: Disable interrupts (offset = 0 + EDGE(0x18) gpio0: Disable interrupts (offset = 0 + LEV(0x1C)) gpio0: Setup intr 0 gpio0: Setup intr 1 gpio0: Setup intr 2 gpio0: Setup intr 3 gpio0: Clear int status (offset = 0) gpiobus0: <GPIO bus> on gpio0 gpio1: <Marvell Integrated GPIO Controller> mem 0x18140-0x1817f,0x181c8-0x181cf irq 13,14,15,16 on simplebus1 gpio1: 4 IRQs available gpio1: Disable interrupts (offset = 0 + EDGE(0x18) gpio1: Disable interrupts (offset = 0 + LEV(0x1C)) gpio1: Setup intr 0 gpio1: Setup intr 1 gpio1: Setup intr 2 gpio1: Setup intr 3 gpio1: Clear int status (offset = 0) gpiobus1: <GPIO bus> on gpio1 mp_tmr0: <ARM MPCore Timers> mem 0xc200-0xc21f irq 3 on simplebus1 Timecounter "MPCore" frequency 800000000 Hz quality 800 mp_tmr1: <ARM MPCore Timers> mem 0xc600-0xc61f irq 4 on simplebus1 Event timer "MPCore" frequency 800000000 Hz quality 1000 twsi0: <Marvell Integrated I2C Bus Controller> mem 0x11000-0x1101f irq 5 on simplebus1 iicbus0: <OFW I2C bus> on twsi0 iic0: <I2C generic I/O> on iicbus0 gpio2: <NXP PCA9552 LED driver> at addr 0xc0 on iicbus0 device_attach: gpio2 attach returned 6 gpio2: <ISSI IS31FL3199 9 channel light effect LED driver> at addr 0xce on iicbus0 gpiobus2: <OFW GPIO bus> on gpio2 gpioc2: <GPIO controller> on gpio2 uart0: <16550 or compatible> mem 0x12000-0x120ff irq 7 on simplebus1 uart0: console (-1,n,8,1) uart1: <16550 or compatible> mem 0x12100-0x121ff irq 8 on simplebus1 gpioc0: <GPIO controller> on gpio0 gpioc1: <GPIO controller> on gpio1 ... Root mount waiting for: CAM Root mount waiting for: CAM mountroot: waiting for device /dev/diskid/DISK-9E20E559s2a... WARNING: / was not properly dismounted gpio_pwm_set: Invalid argument Configuring crash dumps... No suitable dump device was found. ... Starting syslog...done. Starting CRON... done. gpio_pwm_set: Invalid argument gpio_pwm_set: Invalid argument sysctl: unknown oid 'dev.gpio.0.led.1.T1-T3' sysctl: unknown oid 'dev.gpio.0.pin.3.T4' sysctl: unknown oid 'dev.gpio.0.pin.4.T4' sysctl: unknown oid 'dev.gpio.0.led.1.pwm' >>> Upgrading necessary packages... ...