Tehuti Networks Ltd. 10-Giga TOE Single Port SmartNIC

Hello to all,

few years ago my company bought 6 Tehuti 10G Network cards. Everything work fine till version OpenSuse 11.4, after that version cat become invisible for OS.

We are now trying to make usefull those cards again on OpenSuse 13.1, but without success.

In YAST when you tried to configure it you get:

Tehuti Networks Ethernet controllerBusID : 0000:01:00.0
││Unable to configure the network card because the kernel device (eth0, wlan0) is not present. This is mostly caused by missing firmware (for wlan devices). See dmesg output for details.

lspci -vv

01:00.0 Ethernet controller: Tehuti Networks Ltd. 10-Giga TOE Single Port SmartNIC
Subsystem: Tehuti Networks Ltd. Device 3005
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at fbdf0000 (64-bit, prefetchable) [size=64]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [78] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [80] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <2us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
LnkCap: Port #1, Speed 2.5GT/s, Width x8, ASPM L0s, Latency L0 <256ns, L1 <2us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-

I even compiled new drivers for 3.11 , with source from this site:
http://lxr.free-electrons.com/source/drivers/net/ethernet/tehuti/?v=3.11

Driver:
https://mega.nz/#!y5tgEDSa

Please help![/size]

Post to see the ID and the loaded (maybe) Driver:

/sbin/lspci -nnk | grep -iA3 net

01:00.0 Ethernet controller [0200]: Tehuti Networks Ltd. 10-Giga TOE Single Port SmartNIC [1fc9:3110]
Subsystem: Tehuti Networks Ltd. Device [1fc9:3005]

Driver:
https://mega.nz/#!y5tgEDSa

not working

Compile it and post the Output here in Code-Tags.

Sorry this is the link:

https://mega.nz/#!y5tgEDSa!FMdYEWDU6YVwuIrWYNXC4BbHehbJW151Im5txSCo91o

Compiling:


make

echo Building kernel 3.11.10-29-desktop
Building kernel 3.11.10-29-desktop
make -C /lib/modules/3.11.10-29-desktop/build M=/Tehuti/Texxx/tehuti-7.36.5.7 modules  && \
echo "3.11.10-29-desktop x86_64 SuSE:openSUSE 13.1 (x86_64) 13.1 CODENAME = Bottle" > current.version
make[1]: Entering directory `/usr/src/linux-3.11.10-29-obj/x86_64/desktop'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-3.11.10-29-obj/x86_64/desktop'

One more thing. On the last line tehuti.c file there is:
MODULE_FIRMWARE(“tehuti/bdx.bin”);

On the page bellow in firmware section is bdx.bin.ihex file, and i do not know what to do with it:
http://lxr.free-electrons.com/source/firmware/tehuti/bdx.bin.ihex?v=3.11

At the end i compile also bdx.bin with hex2bin. And that found that in tehuti.c file there is:

static DEFINE_PCI_DEVICE_TABLE(bdx_pci_tbl) = {        { PCI_VDEVICE(TEHUTI, 0x3009), },
        { PCI_VDEVICE(TEHUTI, 0x3010), },
        { PCI_VDEVICE(TEHUTI, 0x3014), },
        { 0 }
};



I tried to put one more line:

 { PCI_VDEVICE(TEHUTI, 0x3110), },

and after that card is working in YAST, also it can be configured… but not working. This is the first piece of hardware that i saw that doesn’t have any drivers support anymore.