mirror of
https://github.com/shenmintao/aic8800d80.git
synced 2026-11-10 16:49:17 +00:00
fix: align USB logging defaults and device ID with Radxa
This commit is contained in:
1 parent
5327c777d0
commit
57515a5e3d
4 files changed
+58
-2
No files matched your search
@@ -15,6 +15,9 @@ This driver is for the AIC8800D80 chipset, supported by devices such as the Tend
|
|||||||
> kernel's standard `btusb` driver. After switching branches, rerun
|
> kernel's standard `btusb` driver. After switching branches, rerun
|
||||||
> `sudo ./install.sh` and reboot; switching the Git branch alone does not
|
> `sudo ./install.sh` and reboot; switching the Git branch alone does not
|
||||||
> replace the firmware already installed under `/lib/firmware`.
|
> replace the firmware already installed under `/lib/firmware`.
|
||||||
|
>
|
||||||
|
> If `chip_mcu_id` is missing from the log, enable
|
||||||
|
> [diagnostic logging](#diagnostic-logging) and repeat device initialization.
|
||||||
|
|
||||||
Added support for devices with Vendor ID 368B (tested).
|
Added support for devices with Vendor ID 368B (tested).
|
||||||
|
|
||||||
@@ -180,6 +183,58 @@ If the device is still not active, check the kernel logs for any errors related
|
|||||||
sudo dmesg
|
sudo dmesg
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Diagnostic Logging
|
||||||
|
|
||||||
|
Both `aic8800_fdrv` and `aic_load_fw` default to `aicwf_dbg_level=1`
|
||||||
|
(`LOGERROR`), matching
|
||||||
|
[Radxa's logging default](https://github.com/radxa-pkg/aic8800/blob/fce88024ed40279def034e203128e0892fdbcac3/debian/patches/fix-Lower-the-debugging-log-level.patch).
|
||||||
|
This changes the driver's log mask; it does not remove the detailed log
|
||||||
|
statements or suppress direct `printk()` / `dev_err()` output.
|
||||||
|
|
||||||
|
Some chip-revision, firmware-version and initialization messages use
|
||||||
|
`LOGINFO`. Enable detailed logging before reproducing a startup failure or
|
||||||
|
checking `chip_mcu_id` for branch selection. Messages suppressed earlier
|
||||||
|
cannot be recovered by changing the mask afterward.
|
||||||
|
|
||||||
|
For modules that are already loaded, enable detailed logs without rebuilding:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo 527 | sudo tee /sys/module/aic8800_fdrv/parameters/aicwf_dbg_level
|
||||||
|
echo 15 | sudo tee /sys/module/aic_load_fw/parameters/aicwf_dbg_level
|
||||||
|
sudo dmesg -w
|
||||||
|
```
|
||||||
|
|
||||||
|
The Wi-Fi mask `527` (`0x20f`) enables ERROR, INFO, TRACE, DEBUG and FW;
|
||||||
|
the loader mask `15` (`0x0f`) enables ERROR, INFO, TRACE and DEBUG.
|
||||||
|
Reproduce the problem, then save the kernel log with
|
||||||
|
`sudo journalctl -k -b --no-pager` or `sudo dmesg`.
|
||||||
|
|
||||||
|
To capture messages from module initialization, set the options before the
|
||||||
|
modules are loaded:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo tee /etc/modprobe.d/aic8800-debug.conf >/dev/null <<'EOF'
|
||||||
|
options aic8800_fdrv aicwf_dbg_level=527
|
||||||
|
options aic_load_fw aicwf_dbg_level=15
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
Reload both modules or reboot, then reproduce the device initialization.
|
||||||
|
If the modules load from an initramfs, regenerate that initramfs using your
|
||||||
|
distribution's procedure so it includes these options.
|
||||||
|
|
||||||
|
After collecting the logs, remove the temporary
|
||||||
|
`/etc/modprobe.d/aic8800-debug.conf` file and restore the running modules'
|
||||||
|
default masks:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo 1 | sudo tee /sys/module/aic8800_fdrv/parameters/aicwf_dbg_level
|
||||||
|
echo 1 | sudo tee /sys/module/aic_load_fw/parameters/aicwf_dbg_level
|
||||||
|
```
|
||||||
|
|
||||||
|
If the options were included in an initramfs, regenerate it after removing
|
||||||
|
the configuration as well.
|
||||||
|
|
||||||
### Bluetooth on Combo Adapters
|
### Bluetooth on Combo Adapters
|
||||||
|
|
||||||
Bluetooth support does not require a separate AIC transport module. After
|
Bluetooth support does not require a separate AIC transport module. After
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#define USB_PRODUCT_ID_AIC8801 0x8801
|
#define USB_PRODUCT_ID_AIC8801 0x8801
|
||||||
#define USB_PRODUCT_ID_AIC8800DC 0x88dc
|
#define USB_PRODUCT_ID_AIC8800DC 0x88dc
|
||||||
#define USB_PRODUCT_ID_AIC8800DW 0x88dd
|
#define USB_PRODUCT_ID_AIC8800DW 0x88dd
|
||||||
|
#define USB_PRODUCT_ID_AIC8800DE 0x88de
|
||||||
#define USB_PRODUCT_ID_AIC8800D81 0x8d81
|
#define USB_PRODUCT_ID_AIC8800D81 0x8d81
|
||||||
#define USB_PRODUCT_ID_AIC8800D81X2 0x8d91
|
#define USB_PRODUCT_ID_AIC8800D81X2 0x8d91
|
||||||
#define USB_PRODUCT_ID_AIC8800D89X2 0x8d99
|
#define USB_PRODUCT_ID_AIC8800D89X2 0x8d99
|
||||||
|
|||||||
@@ -548,7 +548,7 @@ static const int rwnx_hwq2uapsd[NL80211_NUM_ACS] = {
|
|||||||
struct semaphore aicwf_deinit_sem;
|
struct semaphore aicwf_deinit_sem;
|
||||||
atomic_t aicwf_deinit_atomic;
|
atomic_t aicwf_deinit_atomic;
|
||||||
|
|
||||||
int aicwf_dbg_level = LOGERROR|LOGINFO|LOGFW;
|
int aicwf_dbg_level = LOGERROR;
|
||||||
module_param(aicwf_dbg_level, int, 0660);
|
module_param(aicwf_dbg_level, int, 0660);
|
||||||
#ifdef CONFIG_DYNAMIC_PWR
|
#ifdef CONFIG_DYNAMIC_PWR
|
||||||
int dynamic_pwr = 1;
|
int dynamic_pwr = 1;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ int adap_test = 0;
|
|||||||
char paringid[100];
|
char paringid[100];
|
||||||
int n_para = 1;
|
int n_para = 1;
|
||||||
int ble_scan_wakeup_reboot_time = 1000;
|
int ble_scan_wakeup_reboot_time = 1000;
|
||||||
int aicwf_dbg_level = LOGERROR|LOGINFO|LOGDEBUG|LOGTRACE;
|
int aicwf_dbg_level = LOGERROR;
|
||||||
int flash_erase_len = 0x400000;
|
int flash_erase_len = 0x400000;
|
||||||
uint32_t ad_data_filter_mask = 0;
|
uint32_t ad_data_filter_mask = 0;
|
||||||
uint32_t gpio_num = 2;//default select gpiob2 for fw_wakeup_host
|
uint32_t gpio_num = 2;//default select gpiob2 for fw_wakeup_host
|
||||||
|
|||||||
Reference in new issue
Block a user