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... 
    ...
    

Log in to reply