2010/8/5 Idwer Vollering vidwer@gmail.com
2010/8/3 Myles Watson mylesgw@gmail.com
On Tue, Aug 3, 2010 at 10:59 AM, Idwer Vollering vidwer@gmail.com wrote:
My problem is two-fold:
- Running the patched qemu segfaults.
$ sudo ./i386-softmmu/qemu -serialice /dev/ttyUSB0 -hda /dev/zero -L
bios/
[sudo] password for idwer: SerialICE: Open connection to target hardware... SerialICE: Waiting for handshake with target... target alife!
try the latest qemu in the SerialICE tree
svn://serialice.com/serialice/trunk/qemu-0.11.0
It's already patched, and it has been updated more recently than the patch.
- Right now, the serialice shell appears only once: after flashing
serialice.rom and performing a soft reset from vendor bios to serialice.
SerialICE v1.5 (Aug 3 2010)
Following quote is after soft reset, typing some text and hitting the reset button:
SerialICE v1.5 (Aug 27 2010)
1 2 3 4 5 6 7 8 9 0 r e s e t
òóñôõöôöòñðôõô÷ôôöðôÿôõõôõôô
Sounds like SerialICE is depending on some initialization from the vendor BIOS. I guess an ugly way to test it would be to copy the working configuration bits from lspci and hard code them into SerialICE until you find what's wrong.
Since the southbridge and superio datasheets mention the existence of two serial ports, I followed their guidance. I thought that (the console printing part of) SerialICE, when setup the correct way, should survive a hard reset/power cycle regardless of the qemu part is running or not.
Since I don't have an oscilloscope, I've tried setting CLKSEL to 24 MHz and 48 MHz: pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xb4); // 24 MHz and KBC=1 pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xc4); // 48 MHz and KBC=1
What information is leading, the info from the superio or the info from the southbridge ?
Attached the mainboard code as well.
Attaching .config, dmesg, lspci and the patch against svn.
Thanks, Myles
Oh! I'm not the only one seeing qemu segfault! I don't have the patch available, but I've written a patch for my Zotac NM10 board with a Nuvoton NCT5571D super IO. I'm trying to boot the vendor BIOS. I'm sure that I'm using the correct clock in (48MHz) and settings, because I can get a serial boot console in linux with the stock BIOS, and if I look at serialice through minicom, I can see the console. If I start qemu then start the system, I will get the same message you did (target alife!) then something for a message about a communication failure (0/a). It will then hang there. If I reboot it (turn it off and back on) qemu segfaults.
I think this error is related to my null modem cable, nullmodem.com illustrates two different types, mine is currently the type without the CD signal connected to anything. I tried modifying it to short pins 1 and 6 on both ends, but it doesn't seem to have worked. I'll have another one here in a few days that hopefully does have the CD tapped into the DTR signal.
I also had some problems trying to compile QEMU on 64-bit, oddly I *did* get beyond those initial 2 lines (with the same cable), but it would fail when trying to run the lua script. I couldn't get bitlib-25 to compile against Ubuntu 10.04 with lua from source, so I used bitlib-26 at first, but it would give me an error in bit.so, trying to call an undefined symbol, lua_pushnumber (IIRC). I then removed the lua from source and installed Ubuntu's lua5.1 and liblua5.1 packages, got bitlib-25 to compile (with --with-lua-suffix=5.1), compiled qemu (after making symlinks in /usr/lib from liblua5.1.x to liblua.x), and it would segfault about 6 lines down (during/after trying to reserve a couple memory ranges). After that I got frustrated and installed 32-bit ubuntu.
-Corey
On Thu, Aug 26, 2010 at 8:26 PM, Idwer Vollering vidwer@gmail.com wrote:
2010/8/5 Idwer Vollering vidwer@gmail.com
2010/8/3 Myles Watson mylesgw@gmail.com
On Tue, Aug 3, 2010 at 10:59 AM, Idwer Vollering vidwer@gmail.com wrote:
My problem is two-fold:
- Running the patched qemu segfaults.
$ sudo ./i386-softmmu/qemu -serialice /dev/ttyUSB0 -hda /dev/zero -L bios/ [sudo] password for idwer: SerialICE: Open connection to target hardware... SerialICE: Waiting for handshake with target... target alife!
try the latest qemu in the SerialICE tree
svn://serialice.com/serialice/trunk/qemu-0.11.0
It's already patched, and it has been updated more recently than the patch.
- Right now, the serialice shell appears only once: after flashing
serialice.rom and performing a soft reset from vendor bios to serialice.
SerialICE v1.5 (Aug 3 2010)
Following quote is after soft reset, typing some text and hitting the reset button:
SerialICE v1.5 (Aug 27 2010)
1 2 3 4 5 6 7 8 9 0 r e s e t
òóñôõöôöòñðôõô÷ôôöðôÿôõõôõôô
Sounds like SerialICE is depending on some initialization from the vendor BIOS. I guess an ugly way to test it would be to copy the working configuration bits from lspci and hard code them into SerialICE until you find what's wrong.
Since the southbridge and superio datasheets mention the existence of two serial ports, I followed their guidance. I thought that (the console printing part of) SerialICE, when setup the correct way, should survive a hard reset/power cycle regardless of the qemu part is running or not.
Since I don't have an oscilloscope, I've tried setting CLKSEL to 24 MHz and 48 MHz: pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xb4); // 24 MHz and KBC=1 pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xc4); // 48 MHz and KBC=1
What information is leading, the info from the superio or the info from the southbridge ?
Attached the mainboard code as well.
Attaching .config, dmesg, lspci and the patch against svn.
Thanks, Myles
SerialICE mailing list SerialICE@serialice.com http://serialice.com/mailman/listinfo/serialice
On Thu, Aug 26, 2010 at 8:34 PM, Corey Osgood corey.osgood@gmail.com wrote:
Oh! I'm not the only one seeing qemu segfault! I don't have the patch available, but I've written a patch for my Zotac NM10 board with a Nuvoton NCT5571D super IO. I'm trying to boot the vendor BIOS. I'm sure that I'm using the correct clock in (48MHz) and settings, because I can get a serial boot console in linux with the stock BIOS, and if I look at serialice through minicom, I can see the console. If I start qemu then start the system, I will get the same message you did (target alife!)
"target alife" is the message from an older version of serialice.
Try checking out the latest:
svn://serialice.com/serialice/trunk/qemu-0.11.0
It's already patched. I built it on 64-bit and 32-bit.
Thanks, Myles
On 8/27/10 4:34 AM, Corey Osgood wrote:
Oh! I'm not the only one seeing qemu segfault! I don't have the patch available, but I've written a patch for my Zotac NM10 board with a Nuvoton NCT5571D super IO. I'm trying to boot the vendor BIOS. I'm sure that I'm using the correct clock in (48MHz) and settings, because I can get a serial boot console in linux with the stock BIOS, and if I look at serialice through minicom, I can see the console. If I start qemu then start the system, I will get the same message you did (target alife!) then something for a message about a communication failure (0/a). It will then hang there. If I reboot it (turn it off and back on) qemu segfaults.
Make sure minicom is ended again before you start qemu. Otherwise qemu might/will not see the answers to its requests.
I also had some problems trying to compile QEMU on 64-bit, oddly I *did* get beyond those initial 2 lines (with the same cable), but it would fail when trying to run the lua script. I couldn't get bitlib-25 to compile against Ubuntu 10.04 with lua from source, so I used bitlib-26 at first, but it would give me an error in bit.so, trying to call an undefined symbol, lua_pushnumber (IIRC). I then removed the lua from source and installed Ubuntu's lua5.1 and liblua5.1 packages, got bitlib-25 to compile (with --with-lua-suffix=5.1), compiled qemu (after making symlinks in /usr/lib from liblua5.1.x to liblua.x), and it would segfault about 6 lines down (during/after trying to reserve a couple memory ranges). After that I got frustrated and installed 32-bit ubuntu.
I added a lua compilation fix for x64 and also an ubuntu specific patch to the Qemu configure script. With those two changes I was able to successfully compile Qemu following the instructions of http://serialice.com/Installation.html
Stefan
On Fri, Aug 27, 2010 at 4:59 AM, Stefan Reinauer stefan.reinauer@coresystems.de wrote:
On 8/27/10 4:34 AM, Corey Osgood wrote:
Oh! I'm not the only one seeing qemu segfault! I don't have the patch available, but I've written a patch for my Zotac NM10 board with a Nuvoton NCT5571D super IO. I'm trying to boot the vendor BIOS. I'm sure that I'm using the correct clock in (48MHz) and settings, because I can get a serial boot console in linux with the stock BIOS, and if I look at serialice through minicom, I can see the console. If I start qemu then start the system, I will get the same message you did (target alife!) then something for a message about a communication failure (0/a). It will then hang there. If I reboot it (turn it off and back on) qemu segfaults.
Make sure minicom is ended again before you start qemu. Otherwise qemu might/will not see the answers to its requests.
Yeah, I did that.
I also had some problems trying to compile QEMU on 64-bit, oddly I *did* get beyond those initial 2 lines (with the same cable), but it would fail when trying to run the lua script. I couldn't get bitlib-25 to compile against Ubuntu 10.04 with lua from source, so I used bitlib-26 at first, but it would give me an error in bit.so, trying to call an undefined symbol, lua_pushnumber (IIRC). I then removed the lua from source and installed Ubuntu's lua5.1 and liblua5.1 packages, got bitlib-25 to compile (with --with-lua-suffix=5.1), compiled qemu (after making symlinks in /usr/lib from liblua5.1.x to liblua.x), and it would segfault about 6 lines down (during/after trying to reserve a couple memory ranges). After that I got frustrated and installed 32-bit ubuntu.
I added a lua compilation fix for x64 and also an ubuntu specific patch to the Qemu configure script. With those two changes I was able to successfully compile Qemu following the instructions of http://serialice.com/Installation.html
Stefan
Thanks for the fixes, just tried them out on 32-bit and seems to work great, will try 64-bit later. I forgot to mention the pkg-config error when compiling QEMU in the email:
Package lua was not found in the pkg-config search path. Perhaps you should add the directory containing `lua.pc' to the PKG_CONFIG_PATH environment variable No package 'lua' found Package lua was not found in the pkg-config search path. Perhaps you should add the directory containing `lua.pc' to the PKG_CONFIG_PATH environment variable No package 'lua' found
Error LUA not found, can't build with SerialICE support.
manually doing PKG_CONFIG_PATH=~/lua-5.1.4/etc/;export PKG_CONFIG_PATH fixes this, but that seems a little odd (and lua-5.1.4/etc/ is the only location of lua.pc)
Trying the svn version of QEMU now to see if it solves my problem.
Thanks, Corey
Oh, no the segfault happened when using qemu/serialice v1.5 and is solved using qemu from svn, on 32-bit hardware too. In my previous message I forgot to attach the superiotool dump -- see attached file.
Following quote is after soft reset, typing some text and hitting the reset button:
SerialICE v1.5 (Aug 27 2010)
1 2 3 4 5 6 7 8 9 0 r e s e t
òóñôõöôöòñðôõô÷ôôöðôÿôõõôõôô
Since the southbridge and superio datasheets mention the existence of two serial ports, I followed their guidance. I thought that (the console printing part of) SerialICE, when setup the correct way, should survive a hard reset/power cycle regardless of the qemu part is running or not.
Since I don't have an oscilloscope, I've tried setting CLKSEL to 24 MHz and 48 MHz: pnp_write_register(SUPERIO_ CONFIG_PORT, 0x24, 0xb4); // 24 MHz and KBC=1 pnp_write_register(SUPERIO_CONFIG_PORT, 0x24, 0xc4); // 48 MHz and KBC=1
What information is leading, the info from the superio or the info from the southbridge ?
On 8/27/10 12:27 PM, Corey Osgood wrote:
Thanks for the fixes, just tried them out on 32-bit and seems to work great, will try 64-bit later. I forgot to mention the pkg-config error when compiling QEMU in the email:
Package lua was not found in the pkg-config search path. Perhaps you should add the directory containing `lua.pc' to the PKG_CONFIG_PATH environment variable No package 'lua' found Package lua was not found in the pkg-config search path. Perhaps you should add the directory containing `lua.pc' to the PKG_CONFIG_PATH environment variable No package 'lua' found
Error LUA not found, can't build with SerialICE support.
manually doing PKG_CONFIG_PATH=~/lua-5.1.4/etc/;export PKG_CONFIG_PATH fixes this, but that seems a little odd (and lua-5.1.4/etc/ is the only location of lua.pc)
Trying the svn version of QEMU now to see if it solves my problem.
It should, because the problem (on Ubuntu at least) was caused by not linking against libm in the automatic detection code (before using pkg-config at all)
No idea why lua does not install its .pc file on a make install...
Stefan