New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sdmmc_ack_interrupt missing on TI kernel 4.9.24 #20
Comments
Hi, I do not see exactly in Makefile but when I copied following flags EXTRA_CFLAGS += -DDEBUG -DSIP_DEBUG -DFAST_TX_STATUS -DKERNEL_IV_WAR -DRX_SENDUP_SYNC -DDEBUGFS -DTEST_MODE -DHAS_INIT_DATA -DHAS_FW EXTRA_CFLAGS += -DP2P_CONCURRENT -DESP_USE_SDIO ifdef ANDROID ifdef P2P_CONCURRENT ifdef TEST_MODE during compilation function void sif_platform_ack_interrupt(struct esp_pub *epub) is not taken to compilation. Please confirm my only point number 1 and issue can be closed. |
I'm not sure how you were building previously, but you definitely need those EXTRA_CFLAGS defined when building against a kernel. I would guess that somehow you were picking up -DTEST_MODE, which isn't needed for everyday use. |
Hi Andrew, |
Hi Andrew, I checked connection tiwces. [ 117.713263] esp8089: loading out-of-tree module taints kernel. [ 117.718499] ESP8089 reset via GPIO 0 What I see on wifi module, the blue LED blinks when appears RETRY on screen, so reset works well I guess. |
Hi Andrew, sudo nano /boot/config.txt |
I think I'm not far away to close this issue, please confirm me only if sdio number 3 interface and 4-bit sdio mode are hardcoded. If yes please write in which files I should look for and apply changes. Thanks |
The SDIO interface isn't hardcoded. The SD host driver probes the device, then the device driver module is loaded based on the probed CID. The ESP-12F module can run in 1 or 4 bit mode, autonegotiated when the device probes. For the RPi, the bus_width= parameter forces the driver to 1 bit mode on the host side if you don't wire through SD_D3 and SD_D4. On any other 4 bit host with only SD_D0 and SD_D1 wired you'll need to do something similar. |
Thanks Andrew,
/* WIFI module */
}; Maybe I do someting wrong. |
I can't comment on the SDIO drivers for BBB. The first step is to see if the SDIO driver is probing the card correctly. Look at dmesg when the SDIO module loads to see if it finds a device. |
Hi Andrew, |
Sorry this isn't working out. Probing is required for esp8089 re-enumeration after the firmware is loaded. |
Sorry, I think that I don't understand You correctly. So if I good understand sdio driver itself should discover device(eg. esp8089) on sdio interface before esp8089.ko load. Am I right now? When I give dmesg | grep MMC I see that driver constantly try to find sd/MMC module and try to find wp and cd pins which are not declared into DTS. Tomorrow I try to connect an oscilloscope to see if something happens on sdio pins. I have a strangle filling that it is silent. In by the way On Raspberrypi I was able to see in /sys/kernel/debug two MMC modules on BBB I don't see MMC files. |
After measurements, I can see on oscilloscope some good waveform on CMD and CLK. Unfortunately, I get something like following after checking what's happen on MMC module dmesg | grep mmc It seems that MMC driver start to probe but get some strangle answer and finally disable voltage. Any idea what can be wrong? during insmod I get [ 72.905483] of course I have to change reset pin. Reset pin works fine I see short blue LED blinking during each probe |
Now I think I really close. Please take a look [ 4.388005] esp_sdio_dummy_probe enter It means that some firmware is missing or can't be loaded. |
Finally, driver initialized [ 5.605614] esp_sdio_dummy_probe enter but when I add Successfully initialized wpa_supplicant Now I think that some others driver are missing. Maybe You known which? |
Of course after issue ifconfig I get wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX I replaced HWaddr manually to XX:XX... |
After changing a few options in kernel wifi works as it should. Now issue can be closed. In free time I made a fork and describe what is necessary to run this driver on Am335x. Thanks a lot |
Excellent! |
Hello,
I try to port esp8089 driver source code to bbb kernel 4.9.24. So I get two following errors
in file testmode.c in line 985
rc = genl_register_family_with_ops(&test_genl_family,
esp_test_ops, ARRAY_SIZE(esp_test_ops));
I modified to
rc = genl_register_family_with_ops(&test_genl_family, esp_test_ops);
because in file genetlink.h I found a modified macro
#define genl_register_family_with_ops(family, ops)
_genl_register_family_with_ops_grps((family),
(ops), ARRAY_SIZE(ops),
NULL, 0)
from C language code is consistent due to size calculation is made in _genl_register_family_with_ops_grps(...)
So I think that modifcation no change code to much and should work well. I hope You agree with me regarding this point. Please confirm.
Orignal message from compilation window
"
| drivers/built-in.o: In function
sif_platform_ack_interrupt': | core.c:(.text+0x1a08a4): undefined reference to
sdmmc_ack_interrupt'| make[2]: *** [vmlinux] Error 1
| make[1]: *** [sub-make] Error 2
| make: *** [__sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: /home/mw/yocto/tmp/work/am335x-poky-linux-gnueabi/ti-linux/4.9.24-r4/temp/run.do_compile.32589:1 exit 1 from 'exit 1'
"
My question is can We somehow workaround this issue. Maybe exist similar function with appropriate functionality? Maybe I can disable definition of ESP_ACK_INTERRUPT at all?
At the end, I can write that when I comment line sdmmc_ack_interrupt(func->card->host); (line number 86 in sdio_stub.c file) all source code compile well and generate *.ko file.
Thanks in advanced
Best Regards
Voloviq
The text was updated successfully, but these errors were encountered: