реклама на сайте
подробности

 
 
> DM365 и RTL8201, не работает
/dev/null
сообщение Dec 1 2010, 10:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 17-11-06
Пользователь №: 22 438



Доброго дня!
Имеется самодельная плата с процессором DM365 и сетевой Realtek RTL8201, в работе используется linux-2.6.18_pro500, из состава SDK, и u-boot 1.3.4.
Слегка модифицировав u-boot я добился работающего ping-а, к сожалению tftp пока не работает.
Но более приоретным является работоспособность сети в Linux, драйвер davinci_emac от TI видит чип, но смонтировать файловую систему по NFS не может, NFS-сервер в это время работает.
Из странного в работе - постоянно горит индикатор линка, но при попытке монтирования файловой сети он тухнет.
Привожу лог загрузки, касающейся сети:
Код
Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le-gb43d9841-dirty (kirill@kirill) (gcc version 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Mon Nov 29 12:55:40 MSK 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci DM365 EVM
...............................................
Kernel command line: console=ttyS0,115200n8 noinitrd rw eth=00:01:02:03:04:05 ip=192.168.10.254:192.168.10.3:::arm:eth0:off root=/dev/nfs nfsroot=192.168.10.3:/home/kirill/nfs/rootfs,nolock
TI DaVinci EMAC: kernel boot params Ethernet address: 00:01:02:03:04:05
....................................................
Generic PHY: Registered new driver
......................................................
RTL8201PHY: Starting realtek_init.
Realtel RTL8201: Registered new driver
Davinci EMAC MII Bus: probed
i2c_davinci i2c_davinci.1: timeout waiting for bus ready
i2c_davinci i2c_davinci.1: timeout waiting for bus ready
i2c_davinci i2c_davinci.1: timeout waiting for bus ready
i2c_davinci i2c_davinci.1: timeout waiting for bus ready
MAC address is 02:00:10:00:00:00
TI DaVinci EMAC Linux version updated 4.0
...............................................
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
...........................................
RTL8201PHY: Starting rtl8201_config_init.
found Realtek RTL8201 PHY
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
      device=eth0, addr=192.168.10.254, mask=255.255.255.0, gw=255.255.255.255,
     host=arm, domain=, nis-domain=(none),
     bootserver=192.168.10.3, rootserver=192.168.10.3, rootpath=
Looking up port of RPC 100003/2 on 192.168.10.3
portmap: server 192.168.10.3 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.10.3
portmap: server 192.168.10.3 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 192.168.10.3 not responding, timed out
Root-NFS: Server returned error -5 while mounting /home/kirill/nfs/rootfs
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Строки начинающиеся на RTL8201PHY являются выводом из моей попытки дописать работу с RTL8201 к Generic PHY.
Может кто-нибудь решил эту проблему?
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
/dev/null
сообщение Dec 2 2010, 09:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 17-11-06
Пользователь №: 22 438



Я разве утверждаю, что в драйвере делаю что-то сложное? wink.gif
Код
#include <linux/module.h>
#include <linux/phy.h>

char debug = 1;
#define DBG(format, args...) if (debug) printk("RTL8201PHY: " format "\n", ##args)

static int rtl8201_config_init(struct phy_device *phydev)
{
    DBG("Starting %s.", __func__);
    phydev->irq = PHY_POLL;
    //phydev->interrupts = PHY_INTERRUPT_DISABLED;

    return 0;
}

static int rtl8201_ack_interrupt(struct phy_device *phydev)
{
    DBG("Starting %s.", __func__);
    return 0;
}

static int rtl8201_config_interrupt(struct phy_device *phydev)
{
    DBG("Starting %s.", __func__);
    return 0;
}
static struct phy_driver rtl8201_driver = {
    .phy_id = 0x8201,
    .phy_id_mask = 0xffff,
    .name = "Realtel RTL8201",
    .features = (SUPPORTED_10baseT_Half | \
                 SUPPORTED_10baseT_Full | \
                 SUPPORTED_100baseT_Half | \
                 SUPPORTED_100baseT_Full | \
                 SUPPORTED_Autoneg | \
                 SUPPORTED_MII),
    .flags = 0,
    .config_init = rtl8201_config_init,
    .config_aneg = genphy_config_aneg,
    .read_status = genphy_read_status,
    .ack_interrupt = rtl8201_ack_interrupt,
    .config_intr = rtl8201_config_interrupt,
    .driver = {.owner = THIS_MODULE},
};

static int __init realtek_init(void)
{
    int ret;
    
    DBG("Starting %s.", __func__);
    ret = phy_driver_register(&rtl8201_driver);
    if (ret) {
        printk("Can't registered driver for Realtek RTL8201.\n");
        phy_driver_unregister(&rtl8201_driver);
    }

    return ret;
}

static void __exit realtek_exit(void)
{
    DBG("Starting %s.", __func__);
    phy_driver_unregister(&rtl8201_driver);
}

module_init(realtek_init);
module_exit(realtek_exit);

MAC я передаю в параметрах загрузки.
Пробовал ядро с моим драйвером и без него, результат одинаковый - нет соединения по NFS.
Может действительно проблема в железе? Но проверка тестом из CodeComposer прошла, правда там там тупо шлют некоторое количество байтов и пожалуй это доказывает только то, что процессор видит сетевой чип.

Сообщение отредактировал /dev/null - Dec 2 2010, 09:15
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- /dev/null   DM365 и RTL8201   Dec 1 2010, 10:07
- - sasamy   Цитата(/dev/null @ Dec 1 2010, 13:07) NFS...   Dec 1 2010, 17:47
- - /dev/null   Абсолютно. Код$ ps aux | grep nfs | grep -v g...   Dec 2 2010, 06:43
|- - sasamy   Цитата(/dev/null @ Dec 2 2010, 09:43) Фай...   Dec 2 2010, 08:19
- - /dev/null   В U-Boot без драйвера не работало ничего, сейчас х...   Dec 2 2010, 08:41
|- - sasamy   Цитата(/dev/null @ Dec 2 2010, 11:41) В U...   Dec 2 2010, 09:04
|- - sasamy   Цитата(/dev/null @ Dec 2 2010, 12:14) Я р...   Dec 2 2010, 09:23
- - /dev/null   Код#define PHY_ID_MASK 0xfffffff0 #define LXT971_...   Dec 2 2010, 09:33
|- - sasamy   Цитата(/dev/null @ Dec 2 2010, 12:33) PHY...   Dec 2 2010, 10:08
- - /dev/null   Уважаемые, не сочтите за труд, посмотрите на прави...   Dec 2 2010, 11:47
|- - sasamy   Цитата(/dev/null @ Dec 2 2010, 14:47) Ува...   Dec 2 2010, 14:39
- - /dev/null   Читал я этот файл. Повторю ещё раз - не работает в...   Dec 2 2010, 15:24
- - Arischenko Ivan   Покажите : cat /etc/exports   Dec 3 2010, 09:13
- - /dev/null   /home/kirill/nfs/rootfs 192.168.10.254(rw,no_root_...   Dec 3 2010, 09:33
- - Arischenko Ivan   У меня работает при таких параметрах : linuxworld...   Dec 3 2010, 09:47
- - /dev/null   Нет, проблема не в NFS, специально перепроверил с ...   Dec 3 2010, 10:41
- - Arischenko Ivan   Есть тема на форуме http://electronix.ru/forum/ind...   Dec 3 2010, 12:50
- - /dev/null   Решил проблему. Оказалось, что RTL8201 не очень хо...   Dec 7 2010, 10:23
- - sasamy   Цитата(/dev/null @ Dec 7 2010, 13:23) суд...   Dec 7 2010, 12:22


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 17:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016