3.2b1 Duet 3 (DCS is not started)
-
@chrishamm said in 3.2b1 Duet 3 (DCS is not started):
/usr/lib/systemd/system/duetcontrolserver.service
Thank you! That fixed it.
-
@Dougal1957 Sure thing, run
sudo curl https://pkg.duet3d.com/duetcontrolserver.service -o /usr/lib/systemd/system/duetcontrolserver.service sudo systemctl daemon-reload
-
Fixed now thanks (one of the guys in a discord I am in suggested how I could edit it with NANO Thanks Luke
-
Do you know why this isn't working?
pi@duet3:~$ sudo /opt/dsf/bin/DuetWebServer
crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.IO.IOException: Failed to bind to address http://[::]:80: address already in use.
---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use
---> System.Net.Sockets.SocketException (98): Address already in use
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind()
at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>c__DisplayClass21_01.<<StartAsync>g__OnBind|0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.AnyIPListenOptions.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IServerAddressesFeature addresses, KestrelServerOptions serverOptions, ILogger logger, Func
2 createBinding)
at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync[TContext](IHttpApplication1 application, CancellationToken cancellationToken) Unhandled exception. System.IO.IOException: Failed to bind to address http://[::]:80: address already in use. ---> Microsoft.AspNetCore.Connections.AddressInUseException: Address already in use ---> System.Net.Sockets.SocketException (98): Address already in use at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketConnectionListener.Bind() at Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.SocketTransportFactory.BindAsync(EndPoint endpoint, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.<>c__DisplayClass21_0
1.<<StartAsync>g__OnBind|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindEndpointAsync(ListenOptions endpoint, AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.AnyIPListenOptions.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.EndpointsStrategy.BindAsync(AddressBindContext context)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.AddressBinder.BindAsync(IServerAddressesFeature addresses, KestrelServerOptions serverOptions, ILogger logger, Func2 createBinding) at Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer.StartAsync[TContext](IHttpApplication
1 application, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
at DuetWebServer.Program.Main(String[] args) in /home/christian/Duet3D/DuetSoftwareFramework/src/DuetWebServer/Program.cs:line 24
Aborted
pi@duet3:~$ -
@bcrazycramer It looks like there is another web server running on the same port (80). Do you have Apache or another HTTP server installed on your system? If not, try rebooting the Pi and check if that makes a difference.
PS: DWS will usually run in the background as its own service, so there should be no need to start it manually. Follow my last reply describing the usage of
journalctl
to figure out why DCS/DWS isn't started. -
I get the same after rebooting.
I'm not using the Raspberry Pi for anything else except the Duet 3. I do have VNC enabled and SSH.
-
@bcrazycramer Please see my earlier post where I mention journalctl.
[edit]Sorry, linking posts doesn't seem to work too well[/edit]
-
@bcrazycramer I get the same as well not that I have a clue what it means!
-
-
@chrishamm said in 3.2b1 Duet 3 (DCS is not started):
@bcrazycramer Please see my earlier post.
Which part?
-
@bcrazycramer it was to me asking me to run the journal cads to see what was happening!
-
-
@bcrazycramer That's looking good. You should be able to connect to your board over HTTP.
The GitHub releases and package feeds have been updated with the latest hotfixes as promised. If you're having problems, consider running another software update.
-
@chrishamm said in 3.2b1 Duet 3 (DCS is not started):
I suspect there may be a permission issue going on because we changed from
root
to a dedicatedsf
user in the latest pre-release.Can you explain the thinking behind changing from root to a dsf user?
As to be honest if it was working before, this seems to be a prime example of changes being made for the sake of it for diminishing returns.
As my old journeyman used to say : if it's working fuc*ing leave it alone.
-
@CaLviNx Running things as root is generally frowned upon for security sake.
-
@Phaedrux that I understand but in this instance it should be fine as people "should" have their home network secured.
My printers all connected via my own wireless "intranet" that is not connected to the outside world, so no one can get into that small network, house innternet itself is run through a Secure DDWRT equipped router which is well locked down, and I'm not the most IT tech savvy but I'm I am happy to run my printers in "Root" mode.
So to find yet another thing changed for the sake of change just trips things/people up as this instance proven
-
@CaLviNx said in 3.2b1 Duet 3 (DCS is not started):
"should" have their home network secured.
Defence in depth would urge you to not assume any favorable circumstances exist.
-
@Phaedrux and to counter that why should people not be allowed to choose for themselves and a notification in the docs would suffice?
-
Given the huge number of hacking attempts made against everyone these days, we would rightly be castigated if we continued running DSF as root. This is even more important now that DSF supports plugins.
-
@CaLviNx said in 3.2b1 Duet 3 (DCS is not started):
@Phaedrux and to counter that why should people not be allowed to choose for themselves and a notification in the docs would suffice?
If you want to run DSF as root, you can modify DSF - it's open source. If you don't know how to, then IMO you shouldn't be trusted to run DSF as root. I don't want your RPi running DSF to be part of a botnet.