|
mii через userspace |
|
|
|
Apr 23 2010, 11:22
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441

|
Проц mpc8323e ядро 2.6.20 Как можно через userspace записать/считать регистры switch'а ip175c? Цитата int getPhy (reg mii) { struct mii_ioctl_data *data; struct ifreq iwr; int s = socket (AF_INET, SOCK_DGRAM, 0); if (s < 0) { return -1; } (void) strncpy (iwr.ifr_name, "eth0", sizeof ("eth0")); data = (struct mii_ioctl_data *) &iwr.ifr_data; data->phy_id = mii.p; data->reg_num = mii.m; data->val_out = 0; if (ioctl (s, SIOCGMIIREG, &iwr) == -1) { fprintf(stderr,"Cannot get PHY %d %d",mii.p,mii.m); //заходит сюды perror(""); } close (s); fprintf(stderr, "PHY %d %d is currently 0x%04X\n",mii.p,mii.m,data->val_out); return data->val_out; } При попытке считать что-то выдает: Cannot get PHY 29 23Operation not supported В правильном ли я вообще русле двигаюсь? На форуме про это ничего не нашел... Есть собственно статейка... https://dev.openwrt.org/ticket/4050 кернел пропатчил как там написано и все равно...
|
|
|
|
|
 |
Ответов
|
May 12 2010, 10:01
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441

|
Цитата(Славка @ Apr 23 2010, 15:22)  При попытке считать что-то выдает: Cannot get PHY 29 23Operation not supported В правильном ли я вообще русле двигаюсь? Двигался в правильном русле, все вродь получилось, нужно было добавить в драйвер для Ethernet контроллера поддержку ethtool/mii-tool... сделал по аналогии с других драйверов. И через ioctl записываю и считываю регистры. Кому интересно, могу скинуть ucc_geth драйвер с поддержкой ethtool/mii-tool... ну и рабочую прогу, для настройки vlanов и wanов на свиче ip175c...
|
|
|
|
|
May 18 2010, 12:43
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441

|
Цитата(romez777 @ May 18 2010, 06:37)  А с IP1725 не доводилось работать? Я сейчас как раз пишу SMI драйвер на gpio пинах для общения с данным чипом. Нее... Его даж гугл не знает  А почему на gpio? этож еще тот геморрой... через ioctl проще же... готовые функции для mdio
|
|
|
|
|
May 19 2010, 00:04
|
Местный
  
Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077

|
Цитата(Славка @ May 18 2010, 16:43)  Нее... Его даж гугл не знает  Действительно, даже на сайте производителя ни слова. Цитата А почему на gpio? этож еще тот геморрой... через ioctl проще же... готовые функции для mdio Гм.. а драйвер с dev.openwrt.org поймет ли данный чип (у меня никакого софта к нему нет) ?
|
|
|
|
|
May 19 2010, 06:11
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441

|
Цитата(romez777 @ May 19 2010, 04:04)  Действительно, даже на сайте производителя ни слова. Гм.. а драйвер с dev.openwrt.org поймет ли данный чип (у меня никакого софта к нему нет) ? А как ты собрался писать драйвер без даташита? По идее у тебя должен быть ethernet controller в процессоре (и драйвер к нему соответственно) к которому цепляется физика(phy) в виде этого свича. В драйвере на эзернет контроллер обычно всегда предусмотрены функции работы с физикой. А это и есть те самые функции mdio_read, mdio_write так как физики обычно через них и работают. Если тебе нужен простой драйвер, то берешь от свича ip175c, качаешь даташит на свой и этот и по аналогии передираешь... не думаю, что они сильно отличатся будут... так как 0,1,2.... регистры у всех свичей одинаковые (скорость, авто-неготейшн, дуплекс, линк), а вот остальные навороты разнятся (влан, спанинг трее, ван)... если тебе они не нужны, то вот такой драйвер куда более понятен и легко переделывается для любого свича... http://tomoyo.sourceforge.jp/cgi-bin/lxr/s...et/phy/icplus.cСделать резет, установить скорости, зарегистрировать в системе... коротко и работает...
|
|
|
|
|
May 19 2010, 10:29
|
Участник

Группа: Участник
Сообщений: 65
Регистрация: 6-04-10
Пользователь №: 56 441

|
Цитата(romez777 @ May 19 2010, 14:10)  Я говорил, что нет софта (часто к чипу чипмейкеры прикладывают библиотеки, драйверы, референс код и пр.). Даташит как раз есть ) Спасибо за ссылки, обязательно посмотрю. А к чему ты будешь то подключать сам свич? Твой проц же имеет мак контроллер? вот я про него и говорил. на него есть драйвер, который должен уметь работать со стандартными физиками, и у него есть готовые функции для работы с SMI, чтоб не мучаться с GPIO.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|