maanantaina 30. heinäkuuta 2007

Mozilla Firefox päivitysongelma Windowsilla

Windows koneissa saattaa Mozilla Firefox 2.x:n automaattisten päivitysten kanssa tulla ongelmia rajoitettujen (ei ylläpito-) käyttäjien tunnuksilla. Oma Firefox asennukseni antoi seuraavan virheilmoituksen aina Firefoxia käynnistäessäni:



ja kun klikkaa ok, Firefox käynnistyy nätisti sekä toimii kuten pitääkin. Ilmoituksen kehotuksesta huolimatta sama toistuu seuraavalla Firefoxin käynnistyskerralla.

Löysin verkosta Joshua Flanaganin blogi postauksen, jossa kuvataan samankaltainen ongelma. Lähdin tutkimaan asiaa postauksen pohjalta toistaen askeleet kuten Joshua kuvailee.

HUOM! Jos Firefox on asennettu terminaalipalvelimelle ja järjestelmässä on rajoitettuja käyttäjätunnuksia joihin ei voida luottaa, tai tunnukset ovat muutoin alttiita tietoturvaongelmille, ei seuraavaa operaatiota tule suorittaa ennenkuin updater.exe ohjelmat on skannattu ajan tasalla olevalla virustutkalla troijalaisia vastaan.

(F-Secure Online scanner toimii Internet Explorer selaimella.)

Seuraava toimi ainakin minun kohdallani. Rajoitetun tunnuksen omasta hakemistoprofiilista löytyy piilotetusta kansiosta Firefoxin updater.exe päivitysohjelma, jonka Firefox suorittaa käynnistyksen yhteydessä. Kun tämän suorittaa ylläpitäjän tunnuksella komentoriviltä sopivin parametrein asennus menee loppuun kyseisen käyttäjän kohdalta. Itse suoritin seuraavan komennon:

"C:\Documents and Settings\tunnus\Local Settings\Application Data\Mozilla\Firefox\Mozilla Firefox\updates\0\updater.exe" "C:\Documents and Settings\tunnus\Local Settings\Application Data\Mozilla\Firefox\Mozilla Firefox\updates\0" "0000" "C:\Program Files\Mozilla Firefox" "C:\Program Files\Mozilla Firefox\firefox.exe"

Jossa tunnus korvataan kyseisen rajoitetun käyttäjätunnuksen nimellä. Parametrin "0000" arvolla ei ole väliä, kunhan siinä on jotkin neljä numeroa. Riippuen miten Firefox on asennettu polun nimet ja asemien tunnukset saattavat vaihdella ja kannattaa vielä erikseen tarkistaa updater.exe:n sijainti.

Varsinaisen päivityskomennon, jonka Firefox koittaa suorittaa, saa selvitettyä helposti Process Monitorin avulla. -Jos sen käyttö tuntuu luontevalta.

Jos konetta käyttää useampi rajoitettu käyttäjätunnus, ongelma tulee mahdollisesti toistumaan myös heidän kohdallaan. Ja ilmoituksista on hankkiuduttava eroon yksi kerrallaan. Mutta huomaa edellämainittu troijalaisten uhka, koska updater.exe suoritetaan korkeimmilla järjestelmän käyttäjäoikeuksilla.

tiistaina 24. heinäkuuta 2007

Acerpower S290, SuSE Linux ja verkko

Aloitetaan tästä laitevalinnastani. Halpis Acer jonka hankin koneeksi kotiin joka (jonain päivänä) toimittaa uuden kotipalvelimen virkaa vanhan palvelimen tultua tiensä päähän. Ongelmat alkoi jokseenkin jo kaupassa, kun tarkoituksena oli saada vakio 1G muistin lisäksi toinen mokoma. -Missään ei mainittu muistin nopeutta. Avuliaan myyjän kanssa päädyimme kuitenkin Kingstonin 533MHz muistipalikkaan joka toimi ok.

Käyttöjärjestelmäksi tulisi Linux. Esiasennettu Linpus ei tulisi kelpaamaan ja aloitin Kubuntu 7.07:llä. Tuon kernelin versiota en juuri nyt muista, mutta ongelmaksi muodostui se ettei laitteen uudehko SiS emolevy ole kovinkaan hyvin tuettu. Ja SATA-kontrolleria ei ilmeisesti laisin, koska kovalevyä ei yksinkertaisesti löydy. Jostain luin, että SuSE:lla saattaisi olla parempi tuki. Vaikka viimeaikoina olen pääasiassa käyttänyt Kubuntua, olen aina pitänyt SuSE:sta joten päätin lähteä liikkeelle openSuSE 10.2:n kanssa ja sillä koettaa kaikkeni.

SATA:lle ei ollut tukea, mutta totesin että PATA-levykin riittää tarpeisiini. Levyä asentaessani huomasin, että laitteessa on ainoastaan yksi väylä saatavilla, jonka toinen liitin on tietysti DVD-RW aseman käytössä. Tämä on hyvä tietää ostopäätöstä tehtäessä jos ajattelee käyttää laitetta palvelimena. Tähänkin totesin olevan lääkkeitä vaikka koneessa olikin saatavilla ainoastaan kaksi PCI-korttipaikkaa laajennuksia varten. Joten kytkin levyn ja tämän jälkeen asensin openSuSE:n ongelmitta.

Koneen bootattua pystyyn aloin tutkimaan dmesg:llä mitä löytyy ja mitä ei. Miltä KDE:n käyttö tuntuu jne. Kompastuskiviä löytyi, mutta aloitan kaikkein ikävimmästä, mikä oli ettei Linuxin kerneli onnistunut ottamaan emolevylle integroitua verkkokorttia käyttöön. Laite tunnistettiin, mutta se ei vaan toiminut. Käytössä ollut kerneli oli SuSE:n valmistama 2.6.18.

Tutkimisen jälkeen selvisi, että kyseessä on emolevylle integroitu SiS:n SIS191 verkkokortti.

Systeemilogeista löytyin bootin yhteydestä virheilmoitus "sis190: Can not find ISA bridge" jonka pohjalta aloin etsimään infoa josko joku olisi törmännyt vastaavaan ongelmaan ja olikin. Ei tosin ihan samaa koska Linuxin ajuri on SiS190:lle, eikä SiS191:lle joka on Acerissa oleva kortti. Tämän vuoksi jouduin itse tutkimaan hieman lisää, jotta päästiin seuraavaan jolla saa kyseisen verkkokortin toimimaan Linuxissa. Yksityiskohtaisemmat ohjeet ovat osin SuSE-riipuvaisia, mutta peruslinja lienee sovellettavissa muihinkin Linux jakeluihin.

1. Hanki kernelin lähdekoodi
Avataan YaST Control Center, Software ja Software Management. Sieltä etsitään kernel-source paketti ja asennetaan se. Tämän jälkeen Linuxin kernelin koodi löytyy polusta /usr/src/linux.

2. Etsitään kateissa oleva ISA-silta
Systeemilogissa oleva viesti kertoi ISA-sillan olevan kateissa. Kun katsoo sis190 ajurin kernelin lähdekoodia ja etsii kyseistä logiviestiä, huomaa sieltä että ISA-siltaa koitetaan etsiä ID:llä 0x0965, rivillä joka tiedostossa /usr/src/linux/drivers/net/sis190.c näyttää seuraavalta:

isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0965, NULL);

Tarkistetaan että onko ISA-sillan ID tosiaan tämä. Seuraava tapahtuu komentorivillä. Ensin selvitä sillan osoite PCI-väylässä:

> lspci -v ... 00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
Flags: bus master, medium devsel, latency 0
...

Tästä nähdään, että ISA sijaitsee osoittessa on 00:04.0. Seuraavaksi haetaan kortin tiedot numeerisessa muodossa, jotta saadaan selvitettyä kortin ID-numero:

> lspci -nv -s 00:02.0
00:02.0 Class 0601: 1039:0968 (rev 01)
Flags: bus master, medium devsel, latency 0

Tästä nähdään, että väylän laite ID on 0x0968, eli sis190 ajuri hakee väärällä ID:llä.

3. Muokataan Linuxin kerneliä
Kohdassa 2 mainitun rivi tiedostossa /usr/src/linux/drivers/net/sis190.c tulee siis korjata siten, että sillan ID on oikein. Seuraavassa korjattu rivi oikealla ID:llä:

isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0968, NULL);

4. Käännetään ja asennetaan uusi kerneli
Käynnissä olevan kernelin konfiguraatio tiedosto pitäisi löytyä /boot hakemiston alta nimellä joka alkaa tekstillä config-. Oman käynnissä olevan kerneliversiosi saat tarkistettua komentoriviltä ajamalla uname -r. Kun olet löytänyt oikean konfiguraatiotiedoston, kopioi se /usr/src/linux hakemistoon nimellä .config ja käännä sekä asenna kerneli:

> make bzImage modules modules_install install

Tämän jälkeen boottaa koneesi ja verkon pitäisi lähteä toimimaan asennuksessa tekemisi valintojen mukaan.

Jatkanen muista seikkailuista kyseisen Acerin kanssa myöhemmin. Tarkoituksena olisi saada laitteseen lisää PATA-levyjä kiinni ja lisäksi toinen verkkokortti. Tuo voi osoittautua hankalaksi jo alussa mainittujen rajoituksien ansiosta. Näytönohjain (SiS Mirage 2) ei myöskään ole X.org:n tukema, joten tällekin varmaan tullaan etsimään ratkaisu joko softan tahi raudan kautta.

Katsotaan koska sitä taasen ehtii laitteen kimppuun...





Miksi kirjata satunnaisia havaintoja

Aloitin sitten blogin. Olen jo pitkään pohtinut moisen avaamista, mutta lopulta aina palaan kysymyksiin:

Miksi kirjoittaisin web-logia?

Onko minulla jotakin kerrottavaa maailmalle?
Ketä kiinnostaa lukea mitä ajattelen?

joihin en ole löytänyt järkeviä vastauksia. Nyt mielestäni olen löytänyt ja sen linjoilta aion blogiani pyörittää.

Joitain kuukausia sitten minulla oli ongelmia silloisen puhelimeni, Nokian N-Gagen alkuperäisen version, kytkemisessä tietokoneeseen. Pitkähkön Google-session jälkeen törmäsin erään kaverin blogiin, jossa kuvattiin täsmälleen sama ongelma kuin minulla oli, sekä ratkaisu siihen. Nyt viikon sisään olen tapellut erään tietokoneen kanssa saadakseni sen käyttökuntoon, mutta dokumentaatio on vähintäänkin puutteellista. Myöskään Googlen kautta en löytänyt kyseisen laitteen toimintakuntoon saattamiseksi mitään kovin hyödyllistä, kuin palasia sieltä ja toisia täältä joilla homma lopulta hoitui.

Joten vastauksiin jotka löysin ja joilla perustelin itselleni tämän blogin olemassaolon;

Jotta muut joutuisi käymään läpi samoja turhauttavia asioita mihin itse törmään.
Yrityksen ja erehdyksen kautta oppimani asiat.

Ihmisiä, ketkä haluavat saada asiat toimimaan ... vähemmällä vaivalla.