I have a problem with corrupted data, readed from /dev/hssdriver (hssdriver.ko).
I don't find any information or sample code with read function from HSS driver.
Please, help me.
I have a board (like IXDP425)with IXP425 and Linux.
I needto use HSS interface to read (and write) a data from it and then send throw Ethernet (UDP).
I use ixp400AccessLibrary-2_4, IPL_IDS_FoundationLibrary_V1_1 and BSD_IDS_HSS_Drv_V1_1.
Driver allows me to read/write in channilized mode from/to /dev/hssdriver.
I open and init (as showed in codelets) hssdev with 32 IX_DSP_TS_V64K timeslots
#define IX_DSP_CODELET_NUM_TIMESLOT 32
fdDev = open("/dev/hssdriver", O_RDWR);
//Initialize HSS port
res = ioctl(fdDev, IX_DSR_HSS_INIT, &hss_port_config);
if (res != 0)
printf("HssPortInit: Init HSS failed ..
printf("HssPortInit: Init HSS Ok!
Then i read from HSS dev, sorted data (because circular buffer is PCM buff * 2) and send it to socket.
btCurCycleBuf = 0;
res = read(fdDev, pcHssReadBuffRaw, sizeof(pcHssReadBuffRaw));
for(int n=0; n<32; n++)
pcHssReadBuff[n*80] = pcHssReadBuffRaw[n*80*2 + btCurCycleBuf*80];
if(btCurCycleBuf==0) btCurCycleBuf=1;else btCurCycleBuf=0;
And i find, that data readed from hssdev is not right.
I find, that when i insert in while(1) cycle printf("
"), the situation is more better.
Also i find, that there are different situation, when i run this read programm from terminal console or from telnet 127.0.0.1.
And also one moment: on default, the parametr in HssDriverFunc.c is #define NO_RACE_CONDITION 1
But in this case, the read function is not blocked while data from HSS are not received.
I change NO_RACE_CONDITION to 0.
Is this corrected?
We don't currently have an IXP expert that monitors this forum. For IXP support I recently added this post to the web site:http://software.intel.com/en-us/forums/showthread.php?t=58713
As more information becomes available, I'll update the page at the link above.
i have faced a similar problem beacuse i had used a channelized driver. but channalized mode has not supported this mode. i also need help, please gimme the solutionJWP
I also had used a channelized driver,andI found that I can't call ixHSSACCInit () function successfully when I use . I need help.
I solved this problem for me: i changed channalized driver and made from it packetized driver.In packetized mode i received and send right data.
What kind of corruption were you experiencing?
On my board, about every 4 seconds, I'm seeing 4 samples that should not be part of the data I'm expecting, and I'm evaluating if trying or not the packetized implementation.