# Hifumi: Printer server

## Hardware - R2S

### Network

- `eth0` - RTL8211E
- `eth1` - RTL8153

The RTL8153 device needs MAC assignment as it will use random value by default:

<details id="bkmrk-%2Fetc%2Fudev%2Frules.d%2F10"><summary>/etc/udev/rules.d/10-network-mac-addr.rules</summary>

```udev
SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth1", PROGRAM="/sbin/ip link set %k address 8a:f4:c8:41:48:35"
```

</details>### Leds

Make red sys led bright when we have booted to runit:

<details id="bkmrk-%2Fetc%2Frunit%2Fcore-serv"><summary>/etc/runit/core-services/03-\_led.sh</summary>

```
echo "1" > /sys/class/leds/nanopi-r2s:red:sys/brightness
```

</details>Make red sys to blink on SD card activity and wan/lan on data transfers between eth0 and eth1 (GUEST/internet network access):

<details id="bkmrk-%2Fetc%2Frc.local-modpro"><summary>/etc/rc.local</summary>

```
modprobe ledtrig-netdev
echo "netdev" > /sys/class/leds/nanopi-r2s:green:lan/trigger
echo "eth0" > /sys/class/leds/nanopi-r2s:green:lan/device_name
echo "1" > /sys/class/leds/nanopi-r2s:green:lan/link
echo "1" > /sys/class/leds/nanopi-r2s:green:lan/tx
echo "0" > /sys/class/leds/nanopi-r2s:green:lan/rx
echo "netdev" > /sys/class/leds/nanopi-r2s:green:wan/trigger
echo "eth1" > /sys/class/leds/nanopi-r2s:green:wan/device_name
echo "1" > /sys/class/leds/nanopi-r2s:green:wan/link
echo "1" > /sys/class/leds/nanopi-r2s:green:wan/tx
echo "0" > /sys/class/leds/nanopi-r2s:green:wan/rx
echo "mmc0" > /sys/class/leds/nanopi-r2s:red:sys/trigger
```

</details>## Printer setup

### Configure and unpause all printers

```bash
#!/bin/sh -x
lpstat -le | grep ' permanent ' | cut -f1 -d' ' | while read P; do
	lpadmin -p "$P" -o printer-error-policy=retry-current-job
	lpadmin -p "$P" -o printer-is-shared=true
	lpadmin -p "$P" -E
done
```

### Printer status

```bash
lpstat -t
```

## Guest VLAN bridge

This will bride `eth0` to GUEST VLAN (10) on `eth1`.

in `/etc/rc.local`:

```
ip link set eth0 addrgenmode none up
ip link add link eth1 name guest type vlan id 10
ip link add br-guest type bridge
ip link set guest master br-guest
ip link set eth0 master br-guest addrgenmode none
ip link set br-guest addrgenmode none up
```

Prevent DHCP from running on `eth0`.

In `/etc/sv/dhcpcd/conf`:

```
OPTS="-M --denyinterfaces eth0"
```