MT7612e interrupts initialization
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 888
- Forks
- 436
- PR merge metrics
- No merged PRs in 30d
Description
Hello! I'm trying to start MT7612e with a custom MIPS board(Baikal architecture). At the moment I have the following situation:
Attempt 1:
Using a driver from 5.4.72 mainline I got ENOSYS error in mt76pci_probe.
Function call order:
mt76pci_probe -> devm_request_irq -> devm_request_threaded_irq -> request_threaded_irq -> _setup_irq
_setup_irq returns -ENOSYS after checking
if (desc>irq_data.chip == &no_irq_chip) return -ENOSYS;
As I understand this function uses INTx emulation mechanism. So I tried to enable MSI mechanism:
Attempt 2:
I added pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES) function before calling devm_request_irq
probe function finished without errors. The modem was detected as network device(wlan0). Connection is OK. Ping is OK
But there is a problem on speed test(iperf): driver repeatedly falls on mt76_mcu_get_response:
mt76x2e 0000:00:00.0: MCU message 31 (seq 13) timed out
mt76x2e 0000:00:00.0: Firmware Version: 0.0.00
mt76x2e 0000:00:00.0: Build: 1
mt76x2e 0000:00:00.0: Build Time: 201507311614____
mt76x2e 0000:00:00.0: Firmware running!
ieee80211 phy2: Hardware restart was requested
Can you explain why __setup_irq returns ENOSYS with default driver?
Can mt76_mcu_get_response problem be caused by MSI mode?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing mt76pci_probe through devm_request_irq, devm_request_threaded_irq, request_threaded_irq, and __setup_irq to understand the ENOSYS path. Then inspect mt76_mcu_get_response and the MSI setup described in the report; done means determining whether MSI explains the MCU timeout and documenting the cause of both failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- embedded-iot, networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100