예제 #1
0
void cshell_icc_open(void)
{
    ICC_CHAN_ATTR_S attr;
    UDI_OPEN_PARAM cshell_icc_param;
    UDI_HANDLE cshell_udi_handle = UDI_INVALID_HANDLE;

    if (1 == g_usb_cshell_disabled) {
        printk("%s : usb cshell disabled\n", __FUNCTION__);
        return ;
    }
	
    attr.enChanMode  = ICC_CHAN_MODE_STREAM;
    attr.u32Priority = 255;
    attr.u32TimeOut  = 1000;
    attr.event_cb = cshell_event_cb;
    attr.read_cb  = cshell_read_cb;
    attr.write_cb = cshell_write_cb;
    attr.u32FIFOInSize  = 8192;
    attr.u32FIFOOutSize = 8192;

    cshell_icc_param.devid = (UDI_DEVICE_ID)UDI_BUILD_DEV_ID(UDI_DEV_ICC, 31);
    cshell_icc_param.pPrivate = &attr;

    cshell_udi_handle = udi_open(&cshell_icc_param);
    if(cshell_udi_handle <= 0)
    {
        printk("cshell_icc_open fail,cshell_udi_handle is %d \n",cshell_udi_handle);
        g_cshell_udi_handle = -1;
    }
    else
    {
        printk("cshell_icc_open success,cshell_udi_handle is %d \n",cshell_udi_handle);
        g_cshell_udi_handle = cshell_udi_handle;
    }
}
예제 #2
0
VOS_UINT32 dms_NcmCfg(VOS_VOID)
{
    VOS_UINT32 ret = ERR_MSP_SUCCESS;
    BSP_S32 slNcmHandle ;
    DMS_PHY_BEAR_PROPERTY_STRU  *pstComCfg =NULL;
    UDI_OPEN_PARAM stParam ;

    pstComCfg = dmsgetPhyBearProperty();

    if(pstComCfg[EN_DMS_BEARER_USB_NCM].slPortHandle != UDI_INVALID_HANDLE)
    {
        return ERR_MSP_SUCCESS;
    }

    stParam.devid = UDI_NCM_CTRL_ID;

    slNcmHandle = udi_open(&stParam);

    if(slNcmHandle ==UDI_INVALID_HANDLE)
    {
        ret =  ERR_MSP_FAILURE;
    }
    else
    {
        pstComCfg[EN_DMS_BEARER_USB_NCM].slPortHandle = slNcmHandle;

        ret = (VOS_UINT32)udi_ioctl (slNcmHandle , NCM_IOCTL_REG_NDIS_RESP_STATUS_FUNC, dms_AtNdisWrtCB);
        ret = ERR_MSP_SUCCESS;
    }

    /*配置 NDIS CTRL 通道*/
    Dms_NcmProcCbReg(g_atConnectBrk,(USB_NAS_AT_CMD_RECV)g_atCmdRcv);

    return ret;

}
예제 #3
0
/*****************************************************************************
函 数 名  : diag_PortOpen
功能描述  :
输入参数  :
输出参数  :
返 回 值  :
调用函数  :
被调函数  :
修改历史  :
	1.日	期	: 2012年8月27日
	 修改内容  : Creat Function

*****************************************************************************/
VOS_UINT32 diag_PortOpen(DIAG_PORT_PHY_BEAR_ENUM enPort,UDI_DEVICE_ID devid,\
    VOS_VOID * pEvtCB,VOS_VOID* pWrtCB,VOS_VOID* pRdCB)
{

	UDI_HANDLE slUartHd  = 0;
	VOS_UINT32 ret		= ERR_MSP_SUCCESS;
	UDI_OPEN_PARAM  stParam = {0};
    ACM_READ_BUFF_INFO  stReadParam;

	if(DIAG_PORT_GET_HANDLE(enPort) != UDI_INVALID_HANDLE)
	{
		return ERR_MSP_SUCCESS;
	}

	DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN+enPort, 0, 0, 0);

	stParam.devid = devid;
	slUartHd = udi_open(&stParam);

    if(UDI_INVALID_HANDLE == slUartHd)
    {
        return ERR_MSP_FAILURE;
    }

    stReadParam.u32BuffSize = DIAG_DATA_READ_BUFFER_SIZE;
    stReadParam.u32BuffNum  = DIAG_DATA_MAX_BUFFER_COUNT;

    ret = udi_ioctl(slUartHd,ACM_IOCTL_RELLOC_READ_BUFF,&stReadParam);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 1);
        goto ERR_OUT;
    }

    ret = udi_ioctl(slUartHd,ACM_IOCTL_SEND_BUFF_CAN_DMA,&stReadParam);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 2);
        goto ERR_OUT;
    }

    ret = udi_ioctl((int)slUartHd,ACM_IOCTL_SET_READ_CB, pRdCB);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 3);
        goto ERR_OUT;
    }
    ret = udi_ioctl((int)slUartHd,ACM_IOCTL_SET_WRITE_CB, pWrtCB);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 4);
        goto ERR_OUT;
    }
    ret = udi_ioctl((int)slUartHd, (int)ACM_IOCTL_SET_EVT_CB, pEvtCB);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 5);
        goto ERR_OUT;
    }

    ret = udi_ioctl((int)slUartHd, (int)ACM_IOCTL_WRITE_DO_COPY, 0);
    if(ret)
    {
        DIAG_DEBUG_SDM_FUN(EN_DIAG_DEBUG_TCP_OPEN_ERR+enPort, (VOS_UINT32)slUartHd, ret, 6);
        goto ERR_OUT;
    }

    g_diagPort_ctrl.bFlag = VOS_TRUE;

    DIAG_PORT_HANDLE_SWITCH(enPort,slUartHd);   /*修改端口句柄*/
    DIAG_PORT_CHAN_STATE_SWITCH(enPort,ACM_EVT_DEV_READY);/*打开之后修改端口状态*/
    return ERR_MSP_SUCCESS;
ERR_OUT:
    udi_close(slUartHd);
    return ret;

}