资源简介
RD9700完整驱动程序,费好大力气才找到的。含:9700_android,Linux,XP-WIN8-32,XP-WIN8-64,XP-WIN8Setup微软数字认证等目录及文件
代码片段和文件信息
/*
* QF9700 one chip USB 1.1 ethernet devices
*
* Author : jokeliujl
* Date : 2010-10-01
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed “as is“ without any warranty of any
* kind whether express or implied.
*/
//#define DEBUG
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “qf9700.h“
/* ------------------------------------------------------------------------------------------ */
/* qf9700 mac and phy operations */
/* qf9700 read some registers from MAC */
static int qf_read(struct usbnet *dev u8 reg u16 length void *data)
{
void *buf;
int err = -ENOMEM;
devdbg(dev “qf_read() reg=0x%02x length=%d“ reg length);
buf = kmalloc(length GFP_KERNEL);
if (!buf)
goto out;
err = usb_control_msg(dev->udev usb_rcvctrlpipe(dev->udev 0)
QF_RD_REGS QF_REQ_RD_REG
0 reg buf length USB_CTRL_SET_TIMEOUT);
if (err == length)
memcpy(data buf length);
else if (err >= 0)
err = -EINVAL;
kfree(buf);
out:
return err;
}
/* qf9700 write some registers to MAC */
static int qf_write(struct usbnet *dev u8 reg u16 length void *data)
{
void *buf = NULL;
int err = -ENOMEM;
devdbg(dev “qf_write() reg=0x%02x length=%d“ reg length);
if (data) {
buf = kmalloc(length GFP_KERNEL);
if (!buf)
goto out;
memcpy(buf data length);
}
err = usb_control_msg(dev->udev usb_sndctrlpipe(dev->udev 0)
QF_WR_REGS QF_REQ_WR_REG
0 reg buf length USB_CTRL_SET_TIMEOUT);
kfree(buf);
if (err >= 0 && err < length)
err = -EINVAL;
out:
return err;
}
/* qf9700 read one register from MAC */
static int qf_read_reg(struct usbnet *dev u8 reg u8 *value)
{
return qf_read(dev reg 1 value);
}
/* qf9700 write one register to MAC */
static int qf_write_reg(struct usbnet *dev u8 reg u8 value)
{
devdbg(dev “qf_write_reg() reg=0x%02x value=0x%02x“ reg value);
return usb_control_msg(dev->udev usb_sndctrlpipe(dev->udev 0)
QF_WR_REG QF_REQ_WR_REG
value reg NULL 0 USB_CTRL_SET_TIMEOUT);
}
/* async mode for writing registers or reg blocks */
static void qf_write_async_callback(struct urb *urb)
{
struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)urb->context;
if (urb->status < 0)
printk(KERN_DEBUG “qf_write_async_callback() failed with %d\n“ urb->status);
kfree(req);
usb_free_urb(urb);
}
static void qf_write_async_helper(struct usbnet *dev u8 reg u8 value u16 length void *data)
{
struct usb_ctrlrequest *req;
struct urb *urb;
int status;
urb = usb_alloc_urb(0 GFP_ATOMIC);
if (!urb) {
deverr(dev “Error allocating URB in qf_write_async_helper!“);
return;
}
req = kmalloc(sizeof(struct usb_ctrlrequest)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-15 14:39 RD9700Driver\
目录 0 2015-10-15 14:39 RD9700Driver\9700\
目录 0 2015-10-15 14:39 RD9700Driver\9700\WINCE500\
文件 34665 2010-11-04 13:13 RD9700Driver\9700\WINCE500\CoreChip QF9700 USB Driver For WINCE 5.0.cab
文件 414 2010-10-31 17:33 RD9700Driver\9700\WINCE500\QF9700USB.bib
文件 29696 2010-11-04 13:07 RD9700Driver\9700\WINCE500\QF9700USB.dll
文件 1540 2010-11-01 08:40 RD9700Driver\9700\WINCE500\QF9700USB.reg
文件 311 2010-11-04 11:02 RD9700Driver\9700\WINCE500\README.txt
目录 0 2015-10-15 14:39 RD9700Driver\9700\WINCE600\
目录 0 2015-10-15 14:39 RD9700Driver\9700\WINCE600\QF9700Release\
文件 34674 2010-11-04 11:07 RD9700Driver\9700\WINCE600\QF9700Release\CoreChip QF9700 Driver For Windows CE 6.0.cab
文件 414 2010-10-31 17:33 RD9700Driver\9700\WINCE600\QF9700Release\QF9700USB.bib
文件 29696 2010-11-04 10:51 RD9700Driver\9700\WINCE600\QF9700Release\QF9700USB.dll
文件 1540 2010-11-01 08:40 RD9700Driver\9700\WINCE600\QF9700Release\QF9700USB.reg
文件 311 2010-11-04 11:02 RD9700Driver\9700\WINCE600\QF9700Release\README.txt
目录 0 2015-10-15 14:39 RD9700Driver\Linux\
文件 270 2010-10-09 16:51 RD9700Driver\Linux\.qf9700.ko.cmd
文件 18761 2010-10-09 16:51 RD9700Driver\Linux\.qf9700.mod.o.cmd
文件 30616 2010-10-09 16:51 RD9700Driver\Linux\.qf9700.o.cmd
目录 0 2015-10-15 14:39 RD9700Driver\Linux\.tmp_versions\
文件 113 2010-10-09 16:51 RD9700Driver\Linux\.tmp_versions\qf9700.mod
文件 508 2010-10-09 16:51 RD9700Driver\Linux\Makefile
文件 45 2010-10-09 16:51 RD9700Driver\Linux\Module.markers
文件 0 2010-10-09 16:51 RD9700Driver\Linux\Module.symvers
文件 2192 2010-10-09 16:50 RD9700Driver\Linux\README
文件 64 2010-10-09 16:51 RD9700Driver\Linux\modules.order
文件 13702 2010-10-09 16:50 RD9700Driver\Linux\qf9700.c
文件 4048 2010-10-09 16:51 RD9700Driver\Linux\qf9700.h
文件 16735 2010-10-09 16:51 RD9700Driver\Linux\qf9700.ko
文件 504 2010-10-09 16:51 RD9700Driver\Linux\qf9700.mod.c
文件 9784 2010-10-09 16:51 RD9700Driver\Linux\qf9700.mod.o
............此处省略37个文件信息
相关资源
- android笔记全集
- 简单的android来电管家完整代码
- Android手机访问服务器登陆程序客户端
- android嵌入百度广告代码
- Android数据转化为Excel表格导入导出
- Android调用JNI的简单附详细步骤
- 基于Android的贪吃蛇游戏app
-
Android ja
vasc ript打开webview图片、支 - Android设备获取唯一标识码的方法
- Android测试网速源码
- android wifi无线调试工具 adbwireless汉化
- Android 开发聊天工具 模仿QQ,实现网络
- Android USB 串口助手源代码
- Tomcat+MySQL为自己的APP打造服务器4完结
- Android书架自定义GridView
- 修改制作Android手机Boot分区文件方法及
- libgdx游戏引擎android平台jar包
- Android Studio 俄罗斯方块.zip
- xUtils3中对Sqlite数据库的操作
- Android RTMP推流工具(仅APK没有源码)
- Android绘图机制与处理技巧四——And
- Android仿高德地图APP
- Android4.4原生动态壁纸源码打包
- 基于Android的移动支付客户端的设计与
- Android实时抓包分析的app
- android手机安全卫士--源码
- Android studio3.0.1; vs2013 ; 调用C#写的We
- Android语音实时传输
- Android音频录制与播放
- Android逆向助手图形界面工具
评论
共有 条评论