Author Topic: No fallback if installation goes wrong  (Read 4148 times)

Zeratul

  • Newbie
  • *
  • Posts: 9
    • View Profile
No fallback if installation goes wrong
« on: June 03, 2008, 12:29:03 pm »
I would like to share with you what I consider LinuxMCE's biggest problem is at this moment:
1) Installation is very unstable
2) there is no good error handling
3) There is no fall back scenario when basic things like video card are not detected correctly

It's clear LinuxMCE is not ready for the average user. But it is not ready for the average IT skilled dude who has some minor linux knowledge either. Depending on luck with the hardware combination, it's only possible for Linux experts and developers. I consider myself a member of the last category so I have the skills to investigate what goes wrong and what causes trouble, but still it takes me a lot of time to diagnose and I find the installation experience terrible.

Main issues encountered:
1) AVWizard and Xorg detection:
Fails on via unichrome chipset (wrong detected monitor capabilities and Horiz/Vert refresh range)
Fails on NVidia GeForce4 (doesn't detect chipset, didn't load nvidia_legacy kernel module, tries to load orbiter in OpenGL mode where xorg.conf is still on vesa !)
In the first case the system keeps trying to start X forever. In the second case, Error message is displayed starting Orbiter in X but there is no fallback.
In both situations the end user gives up here. There is really nothing he can do.
I submitted a bug report with lots of technical documentation on the first issue - it got closed as non reproducible. Unbelievable - it is very reproducible; only the proposed fixes didn't work.
I submitted a bug report on the second issue, we'll see where this one gets.

2) AVWizard is way to intrusive. Rewriting your xorg.conf from a template every time throws away without warning any custom configuration you may have done. I have a touchscreen with my own .so and input device configuration in xorg.conf. IMO, AVWizard should leave detection up to kubuntu, take kubuntu's generated xorg.conf, generate a template out of that and put that one in /usr/pluto/templates. Also AVWizard should better handle all situations where things go wrong and use a last-known-good when X doesn't start, auto reboot happens, or Orbiter fails to load.

3) Running a default DHCP server on your LAN for a DVD based install renders anyone with a local home network and only one NIC with PC's in the house which can no longer access the internet. Default should be NO DHCP server, and get IP as a client, unless no DHCP server exists on the network. This is easy to implement, and will help the 90%(?) people who currently have a small lan behind a NAT router to the internet to keep using their regular PC's. Turn off by default !

4) Turn firewall off by default after installation ! Blocking all incoming traffic makes diagnosing, troubleshooting, remote login very hard, even for average Linux users. If your video card was not detected or AVWizard is stuck in an infinite loop you cannot access the box but through the constantly disappearing (due to X being started) console. Try to type some iptables commands while the display is flickering - awfull!! Firewall off by default - SSH Server on by default - and turn these things on later, e.g. after a question to the user "Is the system completely working as expected ?" .

5) Logging - with all these scripts running concurrently, pffff. They all have their own logfiles but it seems impossible to correlate events. We need a good debug logging system. The only reason I could find out what goes wrong was by diving into the scripts themselves. This is not encouraging.

Just to get the system up and running with all hardware working, it took me about 20 hours. My first installation with Via Unichrome chipset took about 50 hours. That's not quite what it should be like.

I guess these things really need to be addressed if LinuxMCE wants to build an active development community where progress is made fast. I would love to contribute because it theoretically has all the features I would love to have, but this project seems to set wrong priorities.


Zaerc

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 2256
  • Department of Redundancy Department.
    • View Profile
Re: No fallback if installation goes wrong
« Reply #1 on: June 03, 2008, 02:17:13 pm »
First of all everybody has different priorities, I don't see why yours are more important then the others.

Secondly, the problems you are describing are well known and just require some extra setup. 

Furthermore, I have seen plenty of "non skilled" users set their systems up with only minor issues, usually due to a lack of knowledge how the system is supposed to work.  So you can drop the "not ready" argument.

Most of your gripes about the AVWizard could have been avoided if you had done a little homework beforehand and gotten a video card/chipset that is known to work well.  Sure it needs to be improved but it's not top priority to support a lot of graphics chipsets that (have drivers which) aren't up to the job anyway.

And the DHCP server and firewall should be turned off by default??  I don't think so.  If you want to setup things in an unusual (unintended or non-standard) manner you're going to have to do some work, oddly this seems to apply to most things in life.  Just because you don't need/want certain features doesn't mean they will be removed for everybody.  The CD installer, by the way, offers you the possibility to install without the DHCP server.

Anyway, the sources are available so if you really feel these things are that important... knock yourself out and send in patches like the community developers do. 
"Change is inevitable. Progress is optional."
-- Anonymous


freymann

  • Douchebag
  • Guru
  • *
  • Posts: 380
    • View Profile
Re: No fallback if installation goes wrong
« Reply #2 on: June 03, 2008, 03:19:12 pm »
Hi, and welcome to LinuxMCE! It sounds like your experience wasn't super, but you have learned a little about the project.

Depending on luck with the hardware combination, it's only possible for Linux experts and developers. I consider myself a member of the last category so I have the skills to investigate what goes wrong and what causes trouble, but still it takes me a lot of time to diagnose and I find the installation experience terrible.

 I'm no Linux Expert, but so far, on my second attempt at using LinuxMCE, I have a hybrid/core up and running in no time. LinuxMCE is so large that you're bound to run into problems somewhere. But just like the first time you tried to use Linux, it can take some time to resolve issues.

 I'm not one of the developers, so I can't respond about specifics, but I can tell you that if you read the forums and wiki you will quickly discover what video cards will work and which will give you grief. The unichrome chipset (is that on the via boards?) is one of those that will give you grief, unfortunately.

 I have a small HTPC with a via board that uses the unichrome or via video chipset and the last time I tried to set that up as a media director, in a hurry, I ran into problems. I haven't gotten back to that box yet, and I'm not entirely looking forward to it, but I will see if I can use a nVidia pci card in that box if I run into problems. But I do know there's the potential for trouble. I guess in your case, you weren't fully aware of the issues with the unichrome drivers.

 I also learned, very early on, that most of the configs are stored in the database and if you go manually adjusting some config files, they will be overwritten later on. You need to find out where you can properly change that information, and for me, I think most of that was inside the web-based control panel. If, as you require, you have specific needs in xorg.conf that can't be added in any other manner, you're stuck having to manually re-edit the file when needed :-(

 If you don't understand the requirement to act as the DHCP server, then you're forgetting exactly how complex LinuxMCE is. You can try to set things up with a single nic (I did that a few months ago, scan the forums for some of my posts and you will see exactly how to set that up correctly) but you will likely run into other issues.

 If you go single nic, you can easily disable the DHCP server in your current router and let the DHCP server in LinuxMCE manage things.

 The dual-nic thing is a problem for some people. I really don't think they should suggest you can go with a single nic from my personal experience... to make it work right you need two nics. This meant that I had to re-think the way my home LAN was wired, but when I sat down and drew things out, all it required was running one network cable from the upstairs router to the basement (to the core/hybrid) and moving a second cable from the upstairs routers to the basement (to the core). The second cable then attaches to the second NIC, the internal network, and just happens to run to an 8-port gigabyte switch in my office where the rest of the network cables run from. I was lucky here, but I can see in other situations where re-arranging things just isn't possible, and that may mean that LinuxMCE isn't going to be suitable for you/them.

 Since my router has a firewall already, I too disable the firewall on the core so I can easily get to it from the other machines, but I think once (and if) I move the new core to the main system, and the rest of the machines are behind it, then I can re-enable the firewall because, once again, then I'll be doing things the "LinuxMCE way"....

 I actually found all the logging beneficial. There are lots of logs and many of them won't mean much to you and I but once you figure out what which logs are important they are a god send!

Quote
Just to get the system up and running with all hardware working, it took me about 20 hours. My first installation with Via Unichrome chipset took about 50 hours. That's not quite what it should be like.

 I spent 8 days trying to get a system up and running 2 months ago. I'd settle for your 20 or 50 hours anyday. I didn't think it should take that much time either and I bailed. You'll have to decide if thrashing around further is worth your time. I came back with a brand new core with known good equipment (mind you my first core should have worked too). After 3 installs in only a few hours, it is working great. My one "unknown" was a cheap Trendnet PCI Gig NIC for $9.99 with a $10 mail-in rebate. I ended up using an older 100MB PCI Nic instead and things set up fine.

Quote
I guess these things really need to be addressed if LinuxMCE wants to build an active development community where progress is made fast. I would love to contribute because it theoretically has all the features I would love to have, but this project seems to set wrong priorities.

 I don't know what the priorities are, but I can see a big improvement between the 7.10 Betas and the final release, and the forums indicate a huge improvement was made in the release prior to that.

 I agree, that from the end user point of view, things appear to be a little behind the times? (not sure if that's the correct phrase) but the one thing I can say is there is plenty of discussion about what equipment should work and how LinuxMCE needs to be set up in order to function as expected.

 I certainly fully understand more why those messages were delivered. I have since taken heed of those warnings and now I have a core that is working (so far!).

 LinuxMCE is definitely not a quick, cheap, easy project to put together. Go into it knowing that and your luck may be better.

Zeratul

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: No fallback if installation goes wrong
« Reply #3 on: June 04, 2008, 12:47:40 pm »
First of all everybody has different priorities, I don't see why yours are more important then the others.
What is wrong in assuming that blocking installation issues which render the system in an unusable state are more important than cosmetic issues or new features ? Maybe not for you, but for this project to be successful, it simply is.

Quote
Furthermore, I have seen plenty of "non skilled" users set their systems up with only minor issues, usually due to a lack of knowledge how the system is supposed to work.  So you can drop the "not ready" argument.
Again the installation, anything that doesn't install in 99% of the cases, is not ready.
I tried two different hardware configurations, none of them work. Looking at what other people are reporting here - It's not ready.

Quote
Most of your gripes about the AVWizard could have been avoided if you had done a little homework beforehand and gotten a video card/chipset that is known to work well.  Sure it needs to be improved but it's not top priority to support a lot of graphics chipsets that (have drivers which) aren't up to the job anyway.
These hardware devices are very well supported in Kubuntu, MythTV, Freevo. There was absolutely no issue in setting up these things. On top of that, VIA Unichrome is in the wiki as being supported, and NVidia cards are even recommended.
As for the monitor refresh rate detection, this is very elementary stuff, you cannot expect a user to buy a "tested monitor".

Quote
And the DHCP server and firewall should be turned off by default??  I don't think so.  If you want to setup things in an unusual (unintended or non-standard) manner you're going to have to do some work, oddly this seems to apply to most things in life.  Just because you don't need/want certain features doesn't mean they will be removed for everybody. 
Well three things then
1) don't start DHCP server if system hardware setup failed
2) don't start DHCP server if a DHCP server is available on the network
3) I disagree with this default setup. Most people will start with one machine and don't have two switches running in a house. Running DHCP servers just for the sake of being able to BOOTP something is wrong imo. There are much better alternatives that don't mess up your local network.

Quote
If you go single nic, you can easily disable the DHCP server in your current router and let the DHCP server in LinuxMCE manage things.
No that's not possible, because the router needs to be able to forward remote ports and therefore needs to know what IP to forward incomin TCP/UDP traffic to. This is only possible if the DHCP server runs on the machine that has the external IP.
Quote
I spent 8 days trying to get a system up and running 2 months ago. I'd settle for your 20 or 50 hours anyday.
My 20 or 50 hours was excluding configuration of course; just to get to the point where the orbiter would load successfully for the first time. From booting the DVD to getting there. I know that configuration and adding hardware support will probably take me months.

I feel my message didn't get across:
There is no FALLBACK when things go wrong.
The system just keeps going on, no matter what went wrong. The system may consistently reboot, crash X, it just keeps playing 'dhcp' and starting firewall, blocking all access instead of producing a clean error message and halting.
This makes diagnosing, troubleshooting or adding support for new hardware very tough.

And as much as I would like to contribute some patches (and I'm sure I could) I only have a limited amount of hours I can spend on it. The way things work right now every new potential contributor is wasting tons of time. That's not encouraging.

I had a look at the scripts in /usr/pluto/bin and as much as I like scripts, interprocess communication is one of the pain points and it shows. Surely this is inherited codebase, but there is a lot of work there to get things stable and clean.

Zaerc

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 2256
  • Department of Redundancy Department.
    • View Profile
Re: No fallback if installation goes wrong
« Reply #4 on: June 04, 2008, 02:06:16 pm »
If you don't want to listen to reason fine, just don't expect me to waste more of my time answering.

Quote
If you go single nic, you can easily disable the DHCP server in your current router and let the DHCP server in LinuxMCE manage things.
No that's not possible, because the router needs to be able to forward remote ports and therefore needs to know what IP to forward incomin TCP/UDP traffic to. This is only possible if the DHCP server runs on the machine that has the external IP.
And this is just plain wrong, but thanks for showing us that you're completly unhindered by any factual knowledge of how these things work.  We'll value your other "advice" on DHCP accordingly.
"Change is inevitable. Progress is optional."
-- Anonymous


Zeratul

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: No fallback if installation goes wrong
« Reply #5 on: June 04, 2008, 02:10:32 pm »
Sorry but, what a childish, defensive reaction.

Zeratul

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: No fallback if installation goes wrong
« Reply #6 on: June 04, 2008, 02:46:28 pm »
Apparently, reading around, I'm not the only one who doesn't want LinuxMCE to run DHCP server.

If my DHCP statement was wrong, can anyone explain me how I could do this given
- I have an existing LAN setup with a low power router running 24/7.
- I dont want a PC to be on 24h/day, it's a waste of energy (I have my microPLCs boot PC when required or at preset times e.g. 10 minutes before arriving home)
- I dont want to reconfigure my router to be able to access the internet from a pc on external lan everytime LinuxMCE core(and dhcpserver) is down (Single NIC)
- The core should consume as little power as possible. Building a low energy house and wasting 60Watt is just stupid. Therefore I chose Via Epia (12W). There is only one NIC and the single PCI slot won't be sacrificied for a second one.
- My newly built home has UTP cables everywhere but they don't gather in the spot where Core should be running and I will not break open walls for a second UTP circuit.
- I want to be able to log in remotely from the internet to any machine through SSH as long as it's on and with portforwarding on the router. Yes, even when core is off.

Everything can be done without. Ping broadcast to discover, use arp, boot grub from flash sticks etc.

Anyway, given this nice atmosphere where different requirements and opinions are not welcome, I don't feel like I'll be spending much time here.
« Last Edit: June 04, 2008, 02:52:43 pm by Zeratul »

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: No fallback if installation goes wrong
« Reply #7 on: June 05, 2008, 11:10:29 am »
No, really, I'm sorry you feel that way, but please understand... this system has a very specific use case.

We simply do not have the engineering resources to try to make it work everywhere for everyone all at once... please re-read that sentence again.

If you want a feature, or set of features, help us put it in. This is a free software project..not as in cost..but as in freedom.. it is our cost of making sure this software is free.

-Thom

Zeratul

  • Newbie
  • *
  • Posts: 9
    • View Profile
Re: No fallback if installation goes wrong
« Reply #8 on: June 05, 2008, 01:52:58 pm »
If you want a feature, or set of features, help us put it in. This is a free software project..not as in cost..but as in freedom.. it is our cost of making sure this software is free.
Thanks for your comments.
I know how community projects work and I have contributed to several. And yes, the features I request I will implement myself and commit the patches/code. I will implement support for generic PLC based lighting and audio control.

But the thing is that the lack of fallback scenarios when things go wrong and good debug logging are making potential contributors all lose the same time when they start digging. I believe there should be some sort of debug logging guidelines and an easy configurable system, and that the log statements should be done by the people who know the code.
You'll get a lot more contribution if code is more accessible and has a little more error catching and logging.
I'm not saying X or Y should do it. I just say it disturbed me trying to find out why things went wrong. I didn't have that debugging previous open source software.
I'll give an example.
I got so tired of fighting against AVWizard/X detection. It kept installing the wrong nvidia module after I uninstalled, screwing up Xorg.conf, misdetecting adapter, launching at a time when everything was configured fine, auto rebooting etc. I was looking for the bug to fix and contribute, not for a workaround.

After spending more than an hour in the code, I eventually threw the whole thing out and I know that's not a good contribution. But if fixing the bug costs 10x more time than throwing the thing out, many people will throw the thing out, and the bug won't get fixed. And if one cannot produce a clean fix, the quality of the software is not going to improve.
It's a matter of priorities and imo the weakest points for a community LinuxMCE: fallback, logging.
 

« Last Edit: June 05, 2008, 01:55:27 pm by Zeratul »