使用esp32芯片,使用ESP-IDF 5.2.1版本 適配CH390H, 開機(jī)初始化網(wǎng)絡(luò)可以,但是拔插網(wǎng)線后網(wǎng)絡(luò)不可用
使用github上的庫: https://github.com/SergeyKharenko/esp-eth-drivers
分支:https://github.com/SergeyKharenko/esp-idf/tree/patch_ch390
請(qǐng)問這是什么問題?謝謝
使用esp32芯片,使用ESP-IDF 5.2.1版本 適配CH390H, 開機(jī)初始化網(wǎng)絡(luò)可以,但是拔插網(wǎng)線后網(wǎng)絡(luò)不可用
使用github上的庫: https://github.com/SergeyKharenko/esp-eth-drivers
分支:https://github.com/SergeyKharenko/esp-idf/tree/patch_ch390
請(qǐng)問這是什么問題?謝謝
您好,需要注意拔插網(wǎng)線后CH390網(wǎng)口燈是否還亮:
1、如果不亮說明CH390可能處于睡眠模式,想要恢復(fù)需要將GPR寄存器PHYPD清零;
2、如果網(wǎng)口燈還亮則需要看pingCH390時(shí)CH390能否進(jìn)接收中斷,如果能進(jìn)接收中斷
需要看一下收到的ICMP報(bào)文是否正常(可以跟wireshark抓到的報(bào)文對(duì)比一下),如果
收到的報(bào)文正常,則需要看協(xié)議棧是否正常處理(CH390只有網(wǎng)絡(luò)收發(fā)功能,PING功能
是軟件協(xié)議棧實(shí)現(xiàn)的),如果協(xié)議棧也有正常處理,則需要看一下CH390發(fā)包是否正常(
可以通過wireshark抓包判斷)。
可以參考github代碼SPI驅(qū)動(dòng)CH390的接口以及WCH官網(wǎng)提供的CH390例程實(shí)
(CH390EVT.ZIP - 南京沁恒微電子股份有限公司 (wch.cn))現(xiàn)想要實(shí)現(xiàn)的功能,
或者聯(lián)系github代碼提供者尋求幫助。如有其他問題可郵件溝通(zl@wch.cn)
屬于情況2, 網(wǎng)口2個(gè)燈都亮,還其中一個(gè)閃,
我會(huì)檢查一下中斷,然后抓包試下,
還有可以幫我檢查下github上這份代碼?會(huì)不會(huì)發(fā)現(xiàn)問題?
您好,github代碼還是建議聯(lián)系原作者,他們對(duì)提交的代碼更熟悉一些,此外link中斷需要特別注意下邊這種情況。
如有其他問題可郵件溝通(zl@wch.cn)
代碼加了中斷l(xiāng)ink up/link down的檢測,也做了寫0x1f==0, 循環(huán)都0x1e, 但是還是不行,
拔插網(wǎng)線后ISR_PR 中斷是有的,網(wǎng)絡(luò)還是不通。感覺像發(fā)送或者接收緩沖這塊有問題
請(qǐng)問此芯片有l(wèi)inux的驅(qū)動(dòng)嗎
您好,目前沒有l(wèi)inux驅(qū)動(dòng)的相關(guān)參考。
請(qǐng)問后期有做linux驅(qū)動(dòng)的計(jì)劃嗎?
您好,這邊可以留個(gè)郵箱,后面有相關(guān)計(jì)劃及時(shí)通知您。
我是倉庫作者,該問題已在前一陣子解決。詳細(xì)原因請(qǐng)看 https://github.com/espressif/esp-eth-drivers/pull/23???
該倉庫已合并至 https://github.com/espressif/esp-eth-drivers/tree/master, 但是在loopback部分仍然犯了低級(jí)錯(cuò)誤,正在繼續(xù)提交PR中。如果你需要用到這個(gè)功能,請(qǐng)顛倒phy部分phy_ctl1_reg_t 結(jié)構(gòu)體的成員順序,以及將ch390_loopback 函數(shù)中的pma_lpbk改為 remote_lpbk
感謝你的寶貴意見!