I'm trying to use command line to connect to ad-hoc network without Wifi in Settings activated. When loading with 'insmod /system/modules/ bcm4329.ko' my nexus S just hangs. 'dmesg' shows that firmware not found; fw_bcm4329.bin is actually in /system/vendor/firmware/ fw_bcm4329.bin:
<4>[ 354.173186] DHD: dongle ram size is set to 294912(orig 294912)
<4>[ 354.174251] _dhdsdio_download_firmware: dongle image file
download failed
<4>[ 354.174441] dhd_bus_start: dhdsdio_probe_download failed.
firmware = /system/etc/firmware/fw_bcm4329.bin nvram = /proc/
calibration
<4>[ 354.174600] dhdsdio_probe: failed
<4>[ 365.941444] dhd_module_init: sdio_register_driver timeout
Linking the firmware to desired location doesn't help. Question: Can anyone help me understand how Nexus S loads this module?
The file /hardware/libhardware_legacy/wifi/wifi.c has following lines:
static const char IFACE_DIR[] = "/data/system/
wpa_supplicant";
static const char DRIVER_MODULE_NAME[] = WIFI_DRIVER_MODULE_NAME;
static const char DRIVER_MODULE_TAG[] = WIFI_DRIVER_MODULE_NAME " ";
static const char DRIVER_MODULE_PATH[] = WIFI_DRIVER_MODULE_PATH;
static const char DRIVER_MODULE_ARG[] = WIFI_DRIVER_MODULE_ARG;
static const char FIRMWARE_LOADER[] = WIFI_FIRMWARE_LOADER;
static const char DRIVER_PROP_NAME[] = "wlan.driver.status";
Question: is the Path to wifi module redefined somewhere?
Thanks
I found the answer with the help from android_platform group. This works for CM7 on nexus s:
busybox insmod /system/modules/bcm4329.ko firmware_path=/system/vendor/ firmware/fw_bcm4329.bin nvram_path=/system/vendor/firmware/ nvram_net.txt