Initial: BESser umbrella for BES2600 driver mainlining

Sets up the BES2600 mainlining work tree with:

- README: project overview, hardware target, driver lineage
  (CW1200 -> Bestechnic -> arjan-vlek -> Mobian/danctnix), patch series
  status, repo map, build/deploy workflow.

- patches/: c1 patch generated by git format-patch from
  marfrit/bes2600-dkms branch bes2600/factory-request-firmware
  (checkpatch.pl --no-tree --strict: 0 errors / 0 warnings / 0 checks).

- scripts/: build-bes2600-on-ohm.sh, deploy-c1-to-ohm.sh,
  backup-ohm-kernel.sh - reproducible build + deploy + backup.

- fw-analysis/: per-blob strings.txt + fnnames.txt extracted from the
  4 firmware blobs pulled from ohm 2026-04-21. Source binaries NOT
  committed (Bestechnic-proprietary).

- notes/: observed-bugs.md (4 known bug surfaces with file:line +
  patch-series cross-reference), source-map.md (every public driver
  source variant + their canonical role).

Companion work tree: marfrit/bes2600-dkms (Mobian DKMS fork) at
git.reauktion.de.

Signed-off-by: Markus Fritsche <fritsche.markus@gmail.com>
This commit is contained in:
2026-04-22 10:13:23 +02:00
commit e580126d84
16 changed files with 5171 additions and 0 deletions
@@ -0,0 +1,191 @@
best2002_wifi_main
btdrv_bridge_send_data
btdrv_bt_modem_config
btdrv_clear_spi_trig_pos_enable
btdrv_config_init
btdrv_delay_cap_calib
btdrv_function_patch_init_common
bt_drv_reg_op_ble_rx_gain_thr_tbl_set
bt_drv_reg_op_bt_master_sleep_enable
btdrv_reg_op_config_coex_mode
bt_drv_reg_op_le_pwr_ctrl_feats_disable
bt_drv_reg_op_set_inquiry_scan_activity
btdrv_txpower_calib
bthci_lpm_init
bthci_lpm_thread
bthci_set_afh_host_channel_classification
bthci_state_record_init
bthci_uart_io_close
bthci_uart_io_init
bt_iqimb_dma_enable
bt_tx_pulling_write
bt_wifi_coex_thread
close_usb_test
coex_bt_state_notify
config_dpd
data_retransfer_thread
dpd_write_table
em_ble_rxclknsync1_clknrxsync1_getf
em_bt_rxclkn1_getf
em_bt_rx_hwagc_hwagc_idx_getf
factory_get_calib_data_from_efuse
factory_get_power_from_efuse
factory_get_section_from_efuse
factory_powerlevel_convert_to_index
factory_set_calib_data_to_efuse
factory_set_power_into_efuse
filter_list_mutex
get_bdr_pwr
get_btmac
get_btoui
get_edr_pwr
get_flags
get_mac
get_next_block
get_prev_free_block
get_save
get_save_freqoffset
get_woui
h5_thread_tx_mutex
h5_transmit_data_to_host
hal_dma_cancel
hal_dma_chan_busy
hal_dma_free_chan
hal_dma_get_chan
hal_dma_get_cur_dst_addr
hal_dma_get_sg_remain_size
hal_dma_irq_run_chan
hal_dma_sg_2d_start
hal_dma_stop
hal_gpadc_adc2volt_calib
hal_gpio_pin_clr
hal_gpio_pin_get_val
hal_gpio_pin_set
hal_gpio_pin_set_dir
hal_gpio_setup_irq
hal_intersys_open
hal_intersys_rx_irq_handler
hal_intersys_tx_irq_handler
hal_iomux_cfg_wifi_switch
hal_iomux_set_function
hal_iomux_set_sdio_voltage
hal_ispi_activate_cs
hal_ispi_open
hal_pm_notif_register
hal_sdio_adma_compensate
hal_sdio_adma_config
hal_sdio_device_irq_handler
hal_sdio_device_wifi_rxtx_start
hal_spi_init_ctrl
hal_spiphy_activate_cs
hal_spiphy_open
hal_spi_recv_id
hal_spi_send_id
hal_trace_crash_dump_register
hal_trace_open
hal_trace_output
hal_transq_clear_previous
hal_transq_local_irq_handler_body
hal_transq_remote_irq_handler
hal_uart_close
hal_uart_continue
hal_uart_dma_send
hal_uart_flush
hal_uart_get_dma_recv_addr
hal_uart_get_flag
hal_uart_irq_set_dma_handler
hal_uart_irq_set_mask
hal_uart_open
hal_uart_opened
hal_uart_stop_dma_recv
hci_bt_state_set
hci_close
hci_get_vendor_cmd_frame_len
hci_open
hci_send_to_btc_thread
hci_send_to_host_thread
hci_uart_send_to_host
host_event_wifi_off
host_event_wifi_on
host_if_common_init
host_if_resume
host_int_irq
hwtimer_alloc
hwtimer_handler
hwtimer_stop
init_dig_gain_offset
ld_inq_rx_patch
list_append
list_begin
list_end
list_free_node_
list_front
list_is_empty
list_length
list_next
list_remove
lld_adv_end_ind_handler_patch
lld_con_rx_patch
lmac_event_thread
malloc_list
malloc_list_node
mcu_to_lmac
mcu_tx_driver
med_heap_add_block
med_malloc
multi_heap_malloc_impl
multi_heap_register_impl
pmu_read_temperature
pmu_temperature_adc2temp_calib
power_calib_finish
power_compensate_by_temperature_2002
power_debug
ramrun_test_main
recover_wifi_cali_result
restore_dpd_config
rf_cmd_nosignaling_test_handler
rf_nosignaling_test_start_up
save_bdr_pwr
save_edr_pwr
sdio_rx_thread
set_baud_rate
set_btmac
set_btoui
set_mac
set_woui
split_if_necessary
start_recv_dma_with_mask
syspool_get_buff
syspool_original_size
tx_idle_timer_handler
tx_pulling_rf_dig_set
uart_mutex
wakeup_lock_timer_init
wifi_agc_config
wifi_bes2600_cmd_test
wifi_config_cali_from_linux
wifi_deinit
wifi_dpd_boot_low_power_en
wifi_driver_mcu_msg_seq_fill
wifi_driver_rf_cmd_test
wifi_get_rx_data
wifi_init
wifi_iomux_cfg_switch
wifi_recover_cali_data
wifi_rf_cmd_confirm
wifi_rf_msg_rep
wifi_rfpll_temperature_compensation
wifi_rf_set_tpc_table
wifi_sdio_init
wifi_sdio_send
wifi_sdio_send_mutexed
wifi_send
wifi_send_mutex_acquire
wifi_send_mutex_release
wifi_stop
wifi_test_cmd
wifi_transq_init
wifi_vendor_rf_cmd_select
wlan_ap_suspend
wlan_ap_wakeup_cfg
wlan_sdio_wakeup_ap