Hi Divya,
First of all, I'm not sure whether you see this right: It's not your NIC router that is missing a route but your NIC driver. In Genode NIC drivers are NIC session clients and the NIC router is a NIC session server.
Second, the main problem in your case seems to be that you do the NIC driver deployment different from how it is done normally in Sculpt. You added the NIC driver statically to your "drivers" subsystem. However, normally, the "drivers" subsystem contains only the most essential drivers for bringing Sculpt up and the NIC driver is getting deployed on demand only by the Sculpt manager [1][2] in the "runtime" subsystem (the typical space for user applications).
I'd recommend you to remove the NIC driver <start> node from your "drivers" subsystem and instead let the Sculpt manager do this for you. As far as I can tell you have already achieved the second part. When asked to do so, the Sculpt manager starts the NIC driver with name "nic_drv" which causes the driver to request a binary named "nic_drv" from within "runtime" and as you can see in [3], this is re-routed to the a binary with the name you provide through [4].
So, once you removed your own NIC driver instance from "drivers", network should work when you click on "Wired" in your "Network" menu in Sculpt.
Cheers, Martin
[1] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_m... [2] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_m... [3] https://github.com/genodelabs/genode/blob/master/repos/gems/run/sculpt.run#L... [4] https://github.com/genodelabs/genode/blob/master/repos/gems/run/sculpt.run#L...
On 27.03.23 16:32, Divya Sharma wrote:
On Sat, Mar 25, 2023 at 2:28 PM Divya Sharma <divyasharma26546@gmail.com mailto:divyasharma26546@gmail.com> wrote:
Thanks Norman for your suggestion. I modified the sculpt.run as you said but still the uplink session is not getting created may be because of the label mismatch. [init] Warning: drivers: no route to service "Uplink" (label="drivers -> virtio_mmio_nic -> ") [init -> drivers -> virtio_mmio_nic] Error: Uplink-session creation failed (ram_quota=3538944, cap_quota=8, mac_address="52:54:00:12:34:56", tx_buf_size=1638400, rx_buf_size=1638400, label="") [init -> drivers -> virtio_mmio_nic] Error: Uncaught exception of type 'Genode::Service_denied' I tried to figure it out by inspecting the run scripts and runtime configuration working behind the scenes but I am not able to provide that route to nic_router.So,Is there anything that needs to be changed in [1] to give the route to the uplink session. Also as you said that by default Sculpt labels the nic driver as "nic_drv" so is there any way to make it to virtio_mmio_nic by modifying these .cc files [2],[3],[4].Maybe i could be wrong for it. Then kindly guide me towards it. Also i am sharing the modification that i did to scripts. [1] https://github.com/genodelabs/genode/blob/master/repos/gems/run/sculpt.run#L153 [2] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_manager/network.cc [3] https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_manager/runtime/nic_drv.cc [4]https://github.com/genodelabs/genode/blob/master/repos/gems/src/app/sculpt_manager/runtime/nic_router.cc Best Divya.
Dear Norman Feske , Is there any way possible to do so then kindly help me with this.
Thanks, Divya,