Upgrade from hAP ac2 to hAP ax3 AirPrint not Working

I recently upgraded my main home router from the hAP ac2 to hAP ax3. I have been using ROS for a while, but I do not change settings very often, so I am by no means an expert.

I cannot figure out what I did differently in this config than the previous (upgraded about 6 mo ago).

On the old router, I would print from my iPhone no prob, but with the new router, my iPhone just gives no air print printers found.

I can print from computers just fine and my GF can print from her Samsung phone as well (after I manually put in the IP).

Both the iPhone and the printer are on the same network (wifi 2.4gHz limitation of the printer). Using the old router, it did not matter as both the 2.4gHz and the 5gHz are in the same bridge. For some reason, the AirPrint packets are getting filtered out somewhere (I assume).

I am not knowledgeable enough to know if this is an error in my config, or if this is a bug with the new ROS 7 (hAP ac2 ran ROS 6).

My config is posted below. Please note that this is just what I have cobbled together using the default config and trying to customize for my needs (and learn).

I have been reading on the forum, but have not seen any issues like mine (again makes me think I did something wrong).

I have seen tons of posts about the how the hAP ax3 has bad wifi, but my experience has been incredible, other than this small issue. I get the full bandwidth of my service (600mb) in rooms near the router. In the near future, I plan to add a cAP ax on the other side of the house.

Feel free to pick this apart and let me know what I have done incorrectly. Thanks in advance for any advice.

# 2023-12-30 09:10:11 by RouterOS 7.13
# software id = 6AVW-UFWP
#
# model = C53UiG+5HPaxD2HPaxD
# serial number =
/interface bridge
add admin-mac=xx:xx:xx:xx:xx:xx auto-mac=no comment=defconf name=bridge \
    port-cost-mode=short
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN
set [ find default-name=ether2 ] name=ether2-AcrossPasture
set [ find default-name=ether3 ] name=ether3-Office
/interface wifi
set [ find default-name=wifi1 ] channel.skip-dfs-channels=10min-cac \
    configuration.country="United States" .manager=local .mode=ap \
    .multicast-enhance=enabled .ssid=Computers disabled=no \
    security.authentication-types=wpa2-psk,wpa3-psk
set [ find default-name=wifi2 ] channel.skip-dfs-channels=10min-cac .width=\
    20mhz configuration.country="United States" .manager=local .mode=ap \
    .multicast-enhance=enabled .ssid="Game Consoles" disabled=no \
    security.authentication-types=wpa2-psk,wpa3-psk
add configuration.mode=ap .multicast-enhance=enabled .ssid=Guest disabled=no \
    mac-address=xx:xx:xx:xx:xx:xx master-interface=wifi1 name=wifi3
add configuration.mode=ap .multicast-enhance=enabled .ssid=Guest disabled=no \
    mac-address=xx:xx:xx:xx:xx:xx master-interface=wifi2 name=wifi4
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/ip pool
add name=dhcp ranges=192.168.15.50-192.168.15.200
add name=vpn ranges=192.168.89.2-192.168.89.255
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=10m name=defconf
/ppp profile
set *FFFFFFFE local-address=192.168.89.1 remote-address=xxxxxxxxxx
/interface bridge filter
add action=drop chain=forward in-interface=wifi3
add action=drop chain=forward out-interface=wifi3
add action=drop chain=forward in-interface=wifi4
add action=drop chain=forward out-interface=wifi4
/interface bridge port
add bridge=bridge comment=defconf interface=ether2-AcrossPasture \
    internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf interface=ether3-Office internal-path-cost=\
    10 path-cost=10
add bridge=bridge comment=defconf interface=ether4 internal-path-cost=10 \
    path-cost=10
add bridge=bridge comment=defconf interface=ether5 internal-path-cost=10 \
    path-cost=10
add bridge=bridge comment=defconf interface=wifi1 internal-path-cost=10 \
    path-cost=10
add bridge=bridge comment=defconf interface=wifi2 internal-path-cost=10 \
    path-cost=10
add bridge=bridge interface=wifi3 internal-path-cost=10 path-cost=10
add bridge=bridge interface=wifi4 internal-path-cost=10 path-cost=10
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set disable-ipv6=yes
/interface detect-internet
set detect-interface-list=all
/interface l2tp-server server
set enabled=yes use-ipsec=yes
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1-WAN list=WAN
/ip address
add address=192.168.15.1/24 comment=defconf interface=bridge network=\
    192.168.15.0
add address=xxx.xxx.xxx.xxx/xx interface=ether1-WAN network=xxx.xxx.xxx.xxx
/ip cloud
set ddns-enabled=yes
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1-WAN
/ip dhcp-server network
add address=192.168.15.0/24 comment=defconf dns-server=192.168.15.1 gateway=\
    192.168.15.1 netmask=24
/ip dns
set allow-remote-requests=yes servers=xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx
/ip dns static
add address=192.168.15.1 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=accept chain=input comment="allow IPsec NAT" dst-port=4500 \
    protocol=udp
add action=accept chain=input comment="allow IKE" dst-port=500 protocol=udp
add action=accept chain=input comment="allow l2tp" dst-port=1701 protocol=udp
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=masquerade chain=srcnat comment="masq. vpn traffic" src-address=\
    192.168.89.0/24
/ip upnp
set enabled=yes
/ip upnp interfaces
add interface=bridge type=internal
add interface=ether1-WAN type=external
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=\
    33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/ppp secret
add name=xxxxxxxxxx
/system clock
set time-zone-name=America/Chicago
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

Though probably not the solution, I do notice some things:

  • Why did you add the Guest wifi (as it is part of the same bridge as the home network)? Aah, you added a bridge filter…
  • Why is the DHCP lease time set to 10 min? You probably want to change it to a couple of hours.
  • Are you using detect-internet? It has turned into some strange behavior, perhaps turn it off?
  • UPnP…mmm, not interested in security?

Sure both printer and client are conencted to the same (not guest) network?
Does the printer respond to ping?

erlinden,

Thanks for the quick reply.


Why did you add the Guest wifi (as it is part of the same bridge as the home network)? Aah, you added a bridge filter…

I followed a how-to on Youtube to isolate the Guest network


Why is the DHCP lease time set to 10 min? You probably want to change it to a couple of hours.

I guess that is default when using quick setup. I will change if that is best practice.


Are you using detect-internet? It has turned into some strange behavior, perhaps turn it off?

I am not using this. Not sure why that is enabled.


UPnP…mmm, not interested in security?

I enabled this trying to get the AirPrint to work. This was part of my troubleshooting. I will disable as it did not seem to make any difference.


Sure both printer and client are conencted to the same (not guest) network?

That was my first thought. I did verify this.


Does the printer respond to ping?

Sure, I can access the config page via the browser.

Thanks again. I will disable both the internet detect and the upnp. I will also up the DHCP time as suggested.