I am involved in porting WLAN driver to Embedded Planet RPX-LITE board.
I am using HHL - 2,4,2 and Pcmcia-cs (3.1.24). When i insert D-Link DWL 350 prism2 card (intersil) my driver is invoked by cardmgr.
But as i found through debug message, socket is configured for 5volts and the CIS read from my card wants 3.3V. So my Config() routine is failing since there is a mismatch in configured Vcc and Requested Vcc. and Kernel is crashing.
Where i need to do modification to configure EP socket for 3.3v?
Should i need to make any modification in m8xx_pcmcia.c?
I didn`t come across this problem when i tested my driver in Compaq Armada notebook.
I am struck at this point. All inputs are welcome.
Thanks in advance,
Whatever voltage was used to power up the card, is evidently correct, since otherwise, the card could not be identified and your driver would never be loaded. So I suspect that either the socket driver reports the wrong voltage, or the CIS specifies the wrong voltage. Try changing your config routine to not use the Vcc in the CIS, and instead take the Vcc that was used to power up the card. This is what some other drivers (serial_cs, pcnet_cs) do.
In most cases, there are hardware interlocks to prevent the wrong voltage being applied to a card. But I know of at least one system that doesn't allow the actual voltage to be determined, so its socket driver just reports 5V all the time.
thanks a lot.
But now i have one more problem.
If i start a ping session of packet size 1400 or above. Initially it works fine and after responding to around 200 packets, there is a machine check error occuring in function in_be16().
NIP --- points to the routine where i will be in loop to read the received data.
Any idea why this is happening??
Is this any problem with Kernel or with Embedded Planet board?
Thanks in Advance,
Here is the oops message that i get everytime,
Machine check in kernel mode.
Caused by (from SRR1=9032): Unknown values in msr
Oops: machine check, sig: 7
NIP: C56784CC XER: C000197F LR: C567849C SP: C0129E20 REGS: c0129d70 TRAP: 0200
MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK = c0128010 'swapper' Last syscall: 120
last math 00000000 last altivec 00000000
GPR00: 00000498 C0129E20 C0128010 00000000 8000001C 000002C1 00000000 C3CA8800
GPR08: 80000036 00000100 00000498 00003637 35F33F93 1001B8DC FF76FFDF BFBBFE7F
GPR16: FFFFFDFF BFFFFFFF FFEFFFFF FFFFFEFF 00001032 00129EF0 00000000 00000036
GPR24: 00000018 00000000 000005D8 C3F87604 C3CA8C98 C3F87400 8000001C 0000001C
C567849C C5676A78 C5674D94 C0003904 C0003A30 C0002810 C0003F84
C0003F98 C01367C0 C00021E4
Kernel panic: Aiee, killing interrupt handler
In interrupt handler - not syncing
Rebooting in 180 seconds..
I'd guess that the problem is in your driver. I'm not an expert on parsing oops reports for other platforms but you should try to figure out from the NIP address, exactly which function and line of code is causing the fault.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.