亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 5678 | 回復: 6
打印 上一主題 下一主題

網(wǎng)卡驅(qū)動probe之后怎么來測網(wǎng)卡驅(qū)動是否正常工作? [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-10-22 15:55 |只看該作者 |倒序瀏覽
小弟 在弄一個micrel公司ksz8851網(wǎng)卡芯片,在系統(tǒng)啟動已經(jīng)注冊了platform設(shè)備,模塊初始化注冊平臺驅(qū)動調(diào)用了ks8851_probe。進行device綁定。現(xiàn)在probe成功了,之后怎么做? ifconfig 并沒有出現(xiàn)eth3。因為我有3個網(wǎng)卡。麻煩各位大俠指點。。

論壇徽章:
0
2 [報告]
發(fā)表于 2010-10-22 16:01 |只看該作者
你注冊了你的driver是個ethdev沒有?

論壇徽章:
0
3 [報告]
發(fā)表于 2010-10-22 16:05 |只看該作者
  1. static int __devinit ks8851_probe(struct platform_device *pdev)
  2. {
  3.         int err = -ENOMEM;
  4.         struct resource *io_d, *io_c;
  5.         struct net_device *netdev;
  6.         struct ks_net *ks;
  7.         u16 id, data;

  8.         io_d = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  9.         io_c = platform_get_resource(pdev, IORESOURCE_MEM, 1);

  10.         if (!request_mem_region(io_d->start, resource_size(io_d), DRV_NAME))
  11.                 goto err_mem_region;

  12.         if (!request_mem_region(io_c->start, resource_size(io_c), DRV_NAME))
  13.                 goto err_mem_region1;

  14.         netdev = alloc_etherdev(sizeof(struct ks_net));
  15.         if (!netdev)
  16.                 goto err_alloc_etherdev;

  17.         SET_NETDEV_DEV(netdev, &pdev->dev);

  18.         ks = netdev_priv(netdev);
  19.         ks->netdev = netdev;
  20.         ks->hw_addr = ioremap(io_d->start, resource_size(io_d));

  21.         if (!ks->hw_addr)
  22.                 goto err_ioremap;

  23.         ks->hw_addr_cmd = ioremap(io_c->start, resource_size(io_c));
  24.         if (!ks->hw_addr_cmd)
  25.                 goto err_ioremap1;

  26.         ks->irq = platform_get_irq(pdev, 0);

  27.         if (ks->irq < 0) {
  28.                 err = ks->irq;
  29.                 goto err_get_irq;
  30.         }

  31.         ks->pdev = pdev;

  32.         mutex_init(&ks->lock);
  33.         spin_lock_init(&ks->statelock);

  34.         netdev->netdev_ops = &ks_netdev_ops;
  35.         netdev->ethtool_ops = &ks_ethtool_ops;

  36.         /* setup mii state */
  37.         ks->mii.dev             = netdev;
  38.         ks->mii.phy_id          = 1,
  39.         ks->mii.phy_id_mask     = 1;
  40.         ks->mii.reg_num_mask    = 0xf;
  41.         ks->mii.mdio_read       = ks_phy_read;
  42.         ks->mii.mdio_write      = ks_phy_write;

  43.         ks_info(ks, "message enable is %d\n", msg_enable);
  44.         /* set the default message enable */
  45.         ks->msg_enable = netif_msg_init(msg_enable, (NETIF_MSG_DRV |
  46.                                                      NETIF_MSG_PROBE |
  47.                                                      NETIF_MSG_LINK));
  48.         ks_read_config(ks);

  49.         /* simple check for a valid chip being connected to the bus */
  50.         if ((ks_rdreg16(ks, KS_CIDER) & ~CIDER_REV_MASK) != CIDER_ID) {
  51.                 ks_err(ks, "failed to read device ID\n");
  52.                 err = -ENODEV;
  53.                 goto err_register;
  54.         }

  55.         if (ks_read_selftest(ks)) {
  56.                 ks_err(ks, "failed to read device ID\n");
  57.                 err = -ENODEV;
  58.                 goto err_register;
  59.         }

  60.         err = register_netdev(netdev);
  61.         if (err)
  62.                 goto err_register;

  63.         platform_set_drvdata(pdev, netdev);

  64.         ks_soft_reset(ks, GRR_GSR);
  65.         ks_hw_init(ks);
  66.         ks_disable_qmu(ks);
  67.         ks_setup(ks);
  68.         ks_setup_int(ks);
  69.         memcpy(netdev->dev_addr, ks->mac_addr, 6);

  70.         data = ks_rdreg16(ks, KS_OBCR);
  71.         ks_wrreg16(ks, KS_OBCR, data | OBCR_ODS_16MA);

  72.         /**
  73.          * If you want to use the default MAC addr,
  74.          * comment out the 2 functions below.
  75.          */

  76.         random_ether_addr(netdev->dev_addr);
  77.         ks_set_mac(ks, netdev->dev_addr);

  78.         id = ks_rdreg16(ks, KS_CIDER);

  79.         printk(KERN_INFO DRV_NAME
  80.                 " Found chip, family: 0x%x, id: 0x%x, rev: 0x%x\n",
  81.                 (id >> 8) & 0xff, (id >> 4) & 0xf, (id >> 1) & 0x7);
  82.         return 0;

  83. err_register:
  84. err_get_irq:
  85.         iounmap(ks->hw_addr_cmd);
  86. err_ioremap1:
  87.         iounmap(ks->hw_addr);
  88. err_ioremap:
  89.         free_netdev(netdev);
  90. err_alloc_etherdev:
  91.         release_mem_region(io_c->start, resource_size(io_c));
  92. err_mem_region1:
  93.         release_mem_region(io_d->start, resource_size(io_d));
  94. err_mem_region:
  95.         return err;
  96. }
復制代碼
回復 2# snail_314
驅(qū)動內(nèi)核已經(jīng)有了的。我只是在bsp中注冊平臺設(shè)備。

論壇徽章:
0
4 [報告]
發(fā)表于 2010-10-22 16:19 |只看該作者
進/sys/devices/platform/fsl-ks8851.0
ls -l
lrwxrwxrwx    1 root     root            0 Jan  1 00:01 bus -> ../../../bus/platform
lrwxrwxrwx    1 root     root            0 Jan  1 00:01 driver -> ../../../bus/platform/drivers/fsl-ks8851
-r--r--r--    1 root     root         4096 Jan  1 00:01 modalias
lrwxrwxrwx    1 root     root            0 Jan  1 00:01 net:eth2 -> ../../../class/net/eth2
lrwxrwxrwx    1 root     root            0 Jan  1 00:01 subsystem -> ../../../bus/platform
-rw-r--r--    1 root     root         4096 Jan  1 00:01 uevent
但是ifconfig 看不到eth2 ,要指定ifconfig eth2才能看到網(wǎng)卡信息。

論壇徽章:
0
5 [報告]
發(fā)表于 2010-10-22 16:23 |只看該作者
ip -a 查看
ifconfig eth2 up試下

論壇徽章:
0
6 [報告]
發(fā)表于 2010-10-22 16:32 |只看該作者
回復 5# epegasus


   呵呵, 網(wǎng)卡沒激活,不好意思。

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
7 [報告]
發(fā)表于 2010-10-22 18:04 |只看該作者
嗯,加載驅(qū)動之后,可以用 ifconfig ethx up 來啟動一下
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP