This might be a long shot, but you have these messages in your dmesg:
[ 5391.021483] ath5k phy0: noise floor calibration timeout (2412MHz) [ 5391.733816] ath5k phy0: noise floor calibration timeout (2417MHz) [ 5392.445978] ath5k phy0: noise floor calibration timeout (2422MHz) [ 5511.022563] ath5k phy0: noise floor calibration timeout (2412MHz) [ 5511.751707] ath5k phy0: noise floor calibration timeout (2417MHz)
Could it be that the wireless blocks the kernel for a long time, and that is causing the underruns? If you disable the wireless, does that make the dmesg messages and/or the underruns go away?
This might be a long shot, but you have these messages in your dmesg:
[ 5391.021483] ath5k phy0: noise floor calibration timeout (2412MHz)
[ 5391.733816] ath5k phy0: noise floor calibration timeout (2417MHz)
[ 5392.445978] ath5k phy0: noise floor calibration timeout (2422MHz)
[ 5511.022563] ath5k phy0: noise floor calibration timeout (2412MHz)
[ 5511.751707] ath5k phy0: noise floor calibration timeout (2417MHz)
Could it be that the wireless blocks the kernel for a long time, and that is causing the underruns? If you disable the wireless, does that make the dmesg messages and/or the underruns go away?