Find the answer to your Linux question:
Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    HSS driver problem (IXP425)


    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.

  2. #2
    I have a board (like IXDP425) with IXP425 and Linux.
    I need to 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

    fdDev = open("/dev/hssdriver", O_RDWR);
    return 1;
    //Initialize HSS port
    res = ioctl(fdDev, IX_DSR_HSS_INIT, &hss_port_config);
    if (res != 0)
    printf("HssPortInit: Init HSS failed .. \n");
    return 1;
    printf("HssPortInit: Init HSS Ok!\n");

    Then i read from HSS dev, sorted data (because circular buffer is PCM buff * 2) and send it to socket.

    BYTE pcHssReadBuffRaw[32*80*2];

    BYTE pcHssReadBuff[32*80*2];

    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("\n"), 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

    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?

  3. #3
    This problem was beacuse i used a channilized driver for my task.
    I need a channel on 32 timeslots, but channalized mode has not supported this mode.
    Now i writing a HSS packetized driver.

  4. $spacer_open

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts