gluon/targets/ath79-generic
Sven Eckelmann 73ddf5b453 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

(cherry picked from commit 536c771f3f)
2023-02-22 23:06:49 +01:00

566 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)
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',
}
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,
})
-- 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,
})
-- 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_QCA9887,
class = 'tiny',
broken = true, -- 64M ath9k + ath10k
})
device('tp-link-archer-c25-v1', 'tplink_archer-c25-v1', {
packages = ATH10K_PACKAGES_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_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_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_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')