gluon/targets/ath79-generic
Sven Eckelmann 536c771f3f ath79-generic: Work around boot hang on Unifi AC-Mesh
It looks like boot hangs on an AC-Mesh for unknown reasons. The last
message seen on the console is:

    [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)

But interestingly, it seems like enabling AIO somehow works around this
problem. Changing any off the following options seem to have the same
effect at the moment for Linux 5.10.160+5.10.161

    # CONFIG_KERNEL_AIO is not set
    # CONFIG_KERNEL_CGROUPS is not set
    # CONFIG_KERNEL_FANOTIFY is not set
    # CONFIG_KERNEL_FHANDLE is not set
    # CONFIG_KERNEL_IO_URING is not set
    # CONFIG_KERNEL_IPV6_MROUTE is not set
    # CONFIG_KERNEL_IPV6_SEG6_LWTUNNEL is not set
    # CONFIG_KERNEL_IP_MROUTE is not set
    CONFIG_KERNEL_PROC_STRIPPED=y

Just enable CONFIG_AIO until the actual problem was fixed.

Link: https://github.com/freifunk-gluon/gluon/issues/2784
2023-02-21 00:05:08 +01:00

601 lines
14 KiB
Plaintext

-- modify kernel builds slightly to work around a boot hang on various device
-- based on the QCA9563 SoC - especially the Unifi AC-* devices
config('KERNEL_AIO', true)
-- enforce mainline ath10k kmod/firmware over openwrt default ath10k-ct usage
-- ath10k-ct is unstable/broken with 11s meshing, works only wave2 chipsets
local ATH10K_PACKAGES_QCA9880 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca988x',
'-ath10k-firmware-qca988x-ct',
}
local ATH10K_PACKAGES_QCA9887 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca9887',
'-ath10k-firmware-qca9887-ct',
}
-- enforce mainline ath10k-smallbuffers kmod, fixes 5GHz-OOM for low memory devices
local ATH10K_PACKAGES_SMALLBUFFERS_QCA9880 = {
'kmod-ath10k-smallbuffers',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca988x',
'-ath10k-firmware-qca988x-ct',
}
local ATH10K_PACKAGES_SMALLBUFFERS_QCA9887 = {
'kmod-ath10k-smallbuffers',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca9887',
'-ath10k-firmware-qca9887-ct',
}
local ATH10K_PACKAGES_QCA9888 = {}
-- ALFA NETWORK
device('alfa-network-ap121f', 'alfa-network_ap121f', {
factory = false,
})
-- AVM
device('avm-fritz-box-4020', 'avm_fritz4020', {
factory = false,
})
device('avm-fritz-wlan-repeater-300e', 'avm_fritz300e', {
factory = false,
})
device('avm-fritz-wlan-repeater-450e', 'avm_fritz450e', {
factory = false,
})
-- Buffalo
device('buffalo-wzr-hp-ag300h', 'buffalo_wzr-hp-ag300h')
device('buffalo-wzr-600dhp', 'buffalo_wzr-600dhp')
device('buffalo-wzr-hp-g300nh-rtl8366s', 'buffalo_wzr-hp-g300nh-s', {
manifest_aliases = {
'buffalo-wzr-hp-g300nh', -- Upgrade from OpenWrt 19.07
},
})
-- devolo
device('devolo-wifi-pro-1200e', 'devolo_dvl1200e', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1200i', 'devolo_dvl1200i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750c', 'devolo_dvl1750c', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750e', 'devolo_dvl1750e', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750i', 'devolo_dvl1750i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('devolo-wifi-pro-1750x', 'devolo_dvl1750x', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
-- D-Link
device('d-link-dap-1330-a1', 'dlink_dap-1330-a1')
device('d-link-dap-1365-a1', 'dlink_dap-1365-a1')
device('d-link-dap-2660-a1', 'dlink_dap-2660-a1', {
factory_ext = '.img',
packages = ATH10K_PACKAGES_QCA9880,
})
device('d-link-dir-505', 'dlink_dir-505', {
factory = false,
manifest_aliases = {
'd-link-dir-505-rev-a1', -- Upgrade from OpenWrt 19.07
'd-link-dir-505-rev-a2', -- Upgrade from OpenWrt 19.07
},
})
device('d-link-dir825b1', 'dlink_dir-825-b1', {
factory = false,
class = 'tiny', -- Only 6M of usable Firmware space
manifest_aliases = {
'd-link-dir-825-rev-b1', -- Upgrade from OpenWrt 19.07
},
})
-- Enterasys
device('enterasys-ws-ap3705', 'enterasys_ws-ap3705i', {
factory = false,
})
-- Extreme Networks
device('extreme-networks-ws-ap3805i', 'extreme-networks_ws-ap3805i', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
-- GL.iNet
device('gl.inet-6416', 'glinet_6416', {
factory = false,
manifest_aliases = {
'gl-inet-6416a-v1', -- Upgrade from OpenWrt 19.07
},
})
device('gl.inet-gl-ar150', 'glinet_gl-ar150', {
factory = false,
})
device('gl.inet-gl-ar300m-lite', 'glinet_gl-ar300m-lite', {
factory = false,
})
device('gl.inet-gl-ar750', 'glinet_gl-ar750', {
factory = false,
packages = ATH10K_PACKAGES_QCA9887,
})
device('gl.inet-gl-usb150', 'glinet_gl-usb150', {
factory = false,
})
-- JOY-IT
device('joy-it-jt-or750i', 'joyit_jt-or750i', {
packages = ATH10K_PACKAGES_QCA9887,
factory = false,
})
-- Netgear
device('netgear-wndr3700', 'netgear_wndr3700', {
factory_ext = '.img',
})
device('netgear-wndr3700-v2', 'netgear_wndr3700-v2', {
manifest_aliases = {
'netgear-wndr3700v2', -- Upgrade from OpenWrt 19.07
},
factory_ext = '.img',
})
device('netgear-wndr3800', 'netgear_wndr3800', {
factory_ext = '.img',
})
device('netgear-wndr3800ch', 'netgear_wndr3800ch', {
factory_ext = '.img',
manifest_aliases = {'netgear-wndr3800chmychart'}, -- Upgrade from OpenWrt 19.07
})
device('netgear-wnr2200-8m', 'netgear_wnr2200-8m', {
manifest_aliases = {
'netgear-wnr2200', -- Upgrade from OpenWrt 19.07
},
factory_ext = '.img',
})
device('netgear-wnr2200-16m', 'netgear_wnr2200-16m', {
factory_ext = '.img',
})
-- OCEDO
device('ocedo-koala', 'ocedo_koala', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ocedo-raccoon', 'ocedo_raccoon', {
factory = false,
})
-- Onion
-- modular/optional "ethernet expansion board" recommended for config mode
-- setup via integrated (USB-)tty is possible as well
device('onion-omega', 'onion_omega')
-- OpenMesh
device('openmesh-a40', 'openmesh_a40', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-a60', 'openmesh_a60', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
})
device('openmesh-mr600-v1', 'openmesh_mr600-v1', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr600'},
})
device('openmesh-mr600-v2', 'openmesh_mr600-v2', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr600v2'},
})
device('openmesh-mr900-v1', 'openmesh_mr900-v1', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr900'},
})
device('openmesh-mr900-v2', 'openmesh_mr900-v2', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr900v2'},
})
device('openmesh-mr1750-v1', 'openmesh_mr1750-v1', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr1750'},
})
device('openmesh-mr1750-v2', 'openmesh_mr1750-v2', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-mr1750v2'},
})
device('openmesh-om2p-v1', 'openmesh_om2p-v1', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2p'},
})
device('openmesh-om2p-v2', 'openmesh_om2p-v2', {
factory = false,
-- old name from OpenWrt 19.07.x; deacticated at the moment because
-- the physical ethernet port for this device changed between 19.07
-- and 21.02. And automated update could therefore "break" the
-- device until someone physically changed the ethernet cable.
-- See https://github.com/freifunk-gluon/gluon/pull/2325#issuecomment-940749284
--manifest_aliases = {'openmesh-om2pv2'},
})
device('openmesh-om2p-v4', 'openmesh_om2p-v4', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2pv4'},
})
device('openmesh-om2p-hs-v1', 'openmesh_om2p-hs-v1', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2p-hs'},
})
device('openmesh-om2p-hs-v2', 'openmesh_om2p-hs-v2', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2p-hsv2'},
})
device('openmesh-om2p-hs-v3', 'openmesh_om2p-hs-v3', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2p-hsv3'},
})
device('openmesh-om2p-hs-v4', 'openmesh_om2p-hs-v4', {
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om2p-hsv4'},
})
device('openmesh-om2p-lc', 'openmesh_om2p-lc', {
factory = false,
})
device('openmesh-om5p', 'openmesh_om5p', {
factory = false,
})
device('openmesh-om5p-ac-v1', 'openmesh_om5p-ac-v1', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om5p-ac'},
})
device('openmesh-om5p-ac-v2', 'openmesh_om5p-ac-v2', {
packages = ATH10K_PACKAGES_QCA9880,
factory = false,
-- old name from OpenWrt 19.07.x
manifest_aliases = {'openmesh-om5p-acv2'},
})
device('openmesh-om5p-an', 'openmesh_om5p-an', {
factory = false,
})
-- Plasma Cloud
device('plasma-cloud-pa300', 'plasmacloud_pa300')
device('plasma-cloud-pa300e', 'plasmacloud_pa300e')
-- Siemens
device('siemens-ws-ap3610', 'siemens_ws-ap3610', {
factory = false,
})
-- Teltonika
device('teltonika-rut230-v1', 'teltonika_rut230-v1')
-- TP-Link
device('tp-link-archer-a7-v5', 'tplink_archer-a7-v5', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c2-v3', 'tplink_archer-c2-v3', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
class = 'tiny',
broken = true, -- 64M ath9k + ath10k
})
device('tp-link-archer-c25-v1', 'tplink_archer-c25-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-archer-c5-v1', 'tplink_archer-c5-v1', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c58-v1', 'tplink_archer-c58-v1', {
packages = ATH10K_PACKAGES_QCA9888,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-archer-c6-v2-eu-ru-jp', 'tplink_archer-c6-v2', {
packages = ATH10K_PACKAGES_QCA9888,
manifest_aliases = {
'tp-link-archer-c6-v2', -- Upgrade from OpenWrt 19.07
},
})
device('tp-link-archer-c60-v1', 'tplink_archer-c60-v1', {
packages = ATH10K_PACKAGES_QCA9888,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-archer-c7-v2', 'tplink_archer-c7-v2', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c7-v4', 'tplink_archer-c7-v4', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c7-v5', 'tplink_archer-c7-v5', {
packages = ATH10K_PACKAGES_QCA9880,
})
device('tp-link-archer-c59-v1', 'tplink_archer-c59-v1', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-archer-d50-v1', 'tplink_archer-d50-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9880,
factory = false,
broken = true, -- 64M ath9k + ath10k & power LED not working
})
device('tp-link-cpe210-v1', 'tplink_cpe210-v1', {
manifest_aliases = {
'tp-link-cpe210-v1.0', -- Upgrade from OpenWrt 19.07
'tp-link-cpe210-v1.1', -- Upgrade from OpenWrt 19.07
},
})
device('tp-link-cpe210-v2', 'tplink_cpe210-v2', {
manifest_aliases = {
'tp-link-cpe210-v2.0', -- Upgrade from OpenWrt 19.07
},
})
device('tp-link-cpe210-v3', 'tplink_cpe210-v3', {
manifest_aliases = {
'tp-link-cpe210-v3.0', -- Upgrade from OpenWrt 19.07
'tp-link-cpe210-v3.1', -- Upgrade from OpenWrt 19.07
'tp-link-cpe210-v3.20', -- Upgrade from OpenWrt 19.07
},
})
device('tp-link-cpe220-v3', 'tplink_cpe220-v3')
device('tp-link-cpe510-v1', 'tplink_cpe510-v1', {
manifest_aliases = {
'tp-link-cpe510-v1.0', -- upgrade from OpenWrt 19.07
'tp-link-cpe510-v1.1', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-cpe510-v2', 'tplink_cpe510-v2')
device('tp-link-cpe510-v3', 'tplink_cpe510-v3')
device('tp-link-cpe710-v1', 'tplink_cpe710-v1')
device('tp-link-eap225-outdoor-v1', 'tplink_eap225-outdoor-v1', {
packages = ATH10K_PACKAGES_QCA9888,
})
device('tp-link-re355-v1', 'tplink_re355-v1', {
manifest_aliases = {
'tp-link-re355', -- upgrade from OpenWrt 19.07
},
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9880,
broken = true, -- OOM with 5GHz enabled in most environments if device is 64M RAM variant
class = 'tiny', -- Only 6M of usable Firmware space
})
device('tp-link-re450-v1', 'tplink_re450-v1', {
packages = ATH10K_PACKAGES_QCA9880,
manifest_aliases = {
'tp-link-re450', -- upgrade from OpenWrt 19.07
},
class = 'tiny', -- Only 6M of usable Firmware space
})
device('tp-link-tl-wdr3500-v1', 'tplink_tl-wdr3500-v1')
device('tp-link-tl-wdr3600-v1', 'tplink_tl-wdr3600-v1')
device('tp-link-tl-wdr4300-v1', 'tplink_tl-wdr4300-v1')
device('tp-link-tl-wr810n-v1', 'tplink_tl-wr810n-v1')
device('tp-link-tl-wr842n-v3', 'tplink_tl-wr842n-v3', {
manifest_aliases = {
'tp-link-tl-wr842n-nd-v3', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-tl-wr902ac-v1', 'tplink_tl-wr902ac-v1', {
packages = ATH10K_PACKAGES_SMALLBUFFERS_QCA9887,
broken = true, -- OOM with 5GHz enabled in most environments
class = 'tiny', -- 64M ath9k + ath10k
})
device('tp-link-tl-wr1043nd-v2', 'tplink_tl-wr1043nd-v2', {
manifest_aliases = {
'tp-link-tl-wr1043n-nd-v2', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-tl-wr1043nd-v3', 'tplink_tl-wr1043nd-v3', {
manifest_aliases = {
'tp-link-tl-wr1043n-nd-v3', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-tl-wr1043nd-v4', 'tplink_tl-wr1043nd-v4', {
manifest_aliases = {
'tp-link-tl-wr1043n-nd-v4', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-tl-wr1043n-v5', 'tplink_tl-wr1043n-v5')
device('tp-link-wbs210-v1', 'tplink_wbs210-v1', {
manifest_aliases = {
'tp-link-wbs210-v1.20', -- upgrade from OpenWrt 19.07
},
})
device('tp-link-wbs210-v2', 'tplink_wbs210-v2')
device('tp-link-wbs510-v1', 'tplink_wbs510-v1', {
manifest_aliases = {
'tp-link-wbs510-v1.20', -- upgrade from OpenWrt 19.07
},
})
-- Ubiquiti
device('ubiquiti-nanostation-loco-m-xw', 'ubnt_nanostation-loco-m-xw', {
manifest_aliases = {
'ubiquiti-loco-m-xw', -- upgrade from OpenWrt 19.07
'ubiquiti-nanostation-loco-m2-xw', -- upgrade from OpenWrt 19.07
'ubiquiti-nanostation-loco-m5-xw', -- upgrade from OpenWrt 19.07
},
})
device('ubiquiti-nanostation-m-xw', 'ubnt_nanostation-m-xw', {
manifest_aliases = {
'ubiquiti-nanostation-m2-xw', -- upgrade from OpenWrt 19.07
'ubiquiti-nanostation-m5-xw', -- upgrade from OpenWrt 19.07
},
})
device('ubiquiti-unifi-ac-lite', 'ubnt_unifiac-lite', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-lr', 'ubnt_unifiac-lr', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-mesh', 'ubnt_unifiac-mesh', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-mesh-pro', 'ubnt_unifiac-mesh-pro', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ac-pro', 'ubnt_unifiac-pro', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
device('ubiquiti-unifi-ap', 'ubnt_unifi', {
aliases = {
'ubiquiti-unifi-ap-lr',
},
manifest_aliases = {
'ubiquiti-unifi',
},
})
device('ubiquiti-nanobeam-m5-xw', 'ubnt_nanobeam-m5-xw')
device('ubiquiti-unifi-ap-outdoor+', 'ubnt_unifi-ap-outdoor-plus', {
manifest_aliases = {
'ubiquiti-unifiap-outdoor+', -- upgrade from OpenWrt 19.07
},
})
device('ubiquiti-unifi-ap-pro', 'ubnt_unifi-ap-pro')