Attached is a kernel with support for the r6040 network driver.
I'll upload the code when I cleaned it up, optimised it a bit and disabled superflous debug output.
If you find some bugs, or maybe even none at all, please tell me
EDIT: file removed, added driver to trunk
r6040 (eBox 3300)
-
Last edited by hidnplayr on Thu Feb 24, 2011 9:18 pm, edited 1 time in total."Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
Great work! But do you mean that in order to add R6040 network driver support, need to modify kernel.mnt ?
Is it the way with each new network driver you will add, or only specific to R6040 because of some issues?
Is it the way with each new network driver you will add, or only specific to R6040 because of some issues?
This is a kernel as it is in trunk, it has the network drivers integrated.
I still have to write the driver for net branch, wich has network drivers in seperate files.
I still have to write the driver for net branch, wich has network drivers in seperate files.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
Oh, now I understand why everyone wants you to finish NET branch ASAPhidnplayr wrote:This is a kernel as it is in trunk, it has the network drivers integrated.
I still have to write the driver for net branch, wich has network drivers in seperate files.
Because in TRUNK all network drivers are inside KERNEL.MNT - I haven't realized that before.
I will test the driver now and let you know how goes
There are more problems with the old stack:
-slow: every time a packet enters another protocol handler, it is copied from one place in memory to another.
(For a tcp packet, this would be driver>kernel>ethernet>ip>tcp>socket>application)
-slow: drivers do not use interrupts, and thus only one packet can be inserted per os_loop in kernel
(Also, when there is no packet received, this uses resources)
-only one card can be active at a time, and the user cant chose wich one
-system functions for sockets are not universal standard (posix), but also not very good designed in general
-...
I'm trying to fix all that
-slow: every time a packet enters another protocol handler, it is copied from one place in memory to another.
(For a tcp packet, this would be driver>kernel>ethernet>ip>tcp>socket>application)
-slow: drivers do not use interrupts, and thus only one packet can be inserted per os_loop in kernel
(Also, when there is no packet received, this uses resources)
-only one card can be active at a time, and the user cant chose wich one
-system functions for sockets are not universal standard (posix), but also not very good designed in general
-...
I'm trying to fix all that
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
I did get an IP address via DHCP, but could not use any network application.
When I tried, for example, HTML viewer, the "Loading" was stuck forever.
Please see attached BOARD.LOG as well as screenshots.
EDIT: I fixed a mistake I made in website address, but it still does not work. The CPU is maxed at 100%; Process Monitor reports "download" application using all the resources. When I click the green ">" button in HTMLv, it opens another "download" application and both begin to consume all the resources. I attached the correct screenshots and log now.
When I tried, for example, HTML viewer, the "Loading" was stuck forever.
Please see attached BOARD.LOG as well as screenshots.
EDIT: I fixed a mistake I made in website address, but it still does not work. The CPU is maxed at 100%; Process Monitor reports "download" application using all the resources. When I click the green ">" button in HTMLv, it opens another "download" application and both begin to consume all the resources. I attached the correct screenshots and log now.
- Attachments
-
-
log_new.txt (8.65 KiB)Downloaded 446 times
-
Last edited by yogev_ezra on Tue Feb 22, 2011 12:56 am, edited 4 times in total.
I'm afraid the troubles you are experiencing are not caused by the network driver but by, in this case, the 'browser'.
AIRC for example should work without problems, press button 1 first, then when you see some activity, press button 2 an then type "/join #kolibrios" to join the kolibrios channel on freenode..
The only bug in driver I see is that sometimes a packet gets lost in RX/TX (1/100 packets in my case)
AIRC for example should work without problems, press button 1 first, then when you see some activity, press button 2 an then type "/join #kolibrios" to join the kolibrios channel on freenode..
The only bug in driver I see is that sometimes a packet gets lost in RX/TX (1/100 packets in my case)
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
Yes, you were right - AIRC is working fine, left it on for the whole night with 100% CPU usage, still works in the morning.
yogev_ezra, what did you expect from non-existing http address?
OMG LOL I only noticed now I typed 4 W Well, I have an excuse: the Edubook keyboard is too small for my fingers Will try with eBox-3300MX tonight.CleverMouse wrote:yogev_ezra, what did you expect from non-existing http address?
I fixed a mistake I made in website address, but it still does not work. The CPU is maxed at 100%; Process Monitor reports "download" application using all the resources. When I click the green ">" button in HTMLv, it opens another "download" application and both begin to consume all the resources. I attached the correct screenshots and log now.
and you have enough free space on ramdrive? try to delete games and demos and may be something else, and try again...yogev_ezra wrote:I fixed a mistake I made in website address, but it still does not work. The CPU is maxed at 100%; Process Monitor reports "download" application using all the resources. When I click the green ">" button in HTMLv, it opens another "download" application and both begin to consume all the resources. I attached the correct screenshots and log now.
Following your suggestion, I deleted the following folders from "kolibri.img" - GAMES, 3D, DEMOS. Now I had around 350KB free. But it still did not workSorcerer wrote:and you have enough free space on ramdrive? try to delete games and demos and may be something else, and try again...
yogev_ezra, the information on where a program hangs will be useful. Try the following: run MTDBG, type "load downloader http://<URL>" without quotes, MTDBG should say "Program loaded successfully! PID=... Use "g" to run."; type "g" without quotes; wait until the program seems to be stuck consuming CPU and several seconds more to be sure; type "stop" without quotes, MTDBG should say "Suspended"; write here values of registers - top "subwindow" with EAX=... ... EIP=... Moreover, typing "g" again, after some time typing "stop" and writing the possibly new values of registers can be also interesting.
хм.. а браузер до сих пор не использует расшаренную память, что стало возможным, начиная с "Вт окт 05, 2010 3:31 pm"?
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!
Who is online
Users browsing this forum: No registered users and 8 guests