Pasos para configurar esta máquina en Ubuntu Hardy 8.04
Portátil: ASUS 12'' U6SG-2P068E Intel Core 2 Duo T8300Especificaciones:
http://www.asus.com/products.aspx?l1=5&l2=23&l3=518&l4=33&model=2065&modelmenu=2PROBLEMAS encontrados:- Webcam (imagen en B/N y "boca abajo")
SOLUCION: http://ubuntuforums.org/showthread.php?t=838210Lo primero descarga es instala este paquete
sudo apt-get install subversion
Bajarnos las fuentes de:
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
Crear un script con el siguiente código:
diff -uN UVCVIDEO_v0.1.0/uvc_video.c UVCVIDEO_patched/uvc_video.c
--- UVCVIDEO_v0.1.0/uvc_video.c 2008-06-26 10:41:01.000000000 +0200
+++ UVCVIDEO_patched/uvc_video.c 2008-06-26 15:33:33.000000000 +0200
@@ -371,23 +371,92 @@
return data[0];
}
+/* This patched function allows to overturn video images from an upside-down
+ * orientation to a normal one with mirrored effect. The conversion simply
+ * consists in reversing the order of the rows of imagines.
+ * This patch performs its job just once for each frame and only when current
+ * frame is completed, but each time it is required to allocate memory in order
+ * to store a copy of that frame.
+ * This patch should work with all YUV image formats.
+ */
static void uvc_video_decode_data(struct uvc_video_device *video,
struct uvc_buffer *buf, const __u8 *data, int len)
{
struct uvc_video_queue *queue = &video->queue;
unsigned int maxlen, nbytes;
void *mem;
+ /* Patch variables */
+ __u8 *mem_tmp, *ptr_tmp;
+ int i, k, row_size;
if (len <= 0) return; /* Copy the video data to the buffer. */ + /* How many bytes are needed to complete the buffer? */ maxlen = buf->buf.length - buf->buf.bytesused;
+ /* Where do pixels stored in "data" have to be copied? */
mem = queue->mem + buf->buf.m.offset + buf->buf.bytesused;
+ /* How many bytes really can be copied into "mem"? */
nbytes = min((unsigned int)len, maxlen);
+ /* "nbytes" are copied from "data" to "mem" buffer.
+ * "data" stores a sequence of pixels coming from the video source.
+ * This sequence is not a full frame or a full row of pixel, but just an
+ * ordered vector of pixels (from top-left to bottom-right), whose
+ * represents just an area of the current frame.
+ * This function has to be called hundreds of times before a frame is
+ * completed and "nbytes" is not constant! Each time "data" contains the
+ * next part of the frame. At the end data stored in "mem" buffer will
+ * be used by the application who requested the video stream.
+ */
memcpy(mem, data, nbytes);
buf->buf.bytesused += nbytes;
+ /* Have the last copied bytes completed the current frame? */
+ if (nbytes == maxlen) {
+ /* Area where to save the upper half part of the original frame
+ * (just half in order to speed up the patch) before reversing.
+ */
+ mem_tmp = (__u8 *) kmalloc(buf->buf.bytesused / 2, GFP_ATOMIC);
+ if (mem_tmp != NULL ) {
+ /* Copy top-half part of frame in a temporary buffer */
+ memcpy(mem_tmp, queue->mem + buf->buf.m.offset,
+ buf->buf.bytesused / 2);
+ /* "row_size" does not depend only on the width of the
+ * frame, but also on the pixel color depth (bpp).
+ */
+ row_size = video->streaming->cur_frame->wWidth *
+ video->streaming->format->bpp / 8;
+ /* The following cycle just copy full frame rows from
+ * the last one stored in "mem" (and going up) to the
+ * first one (and going down) stored in "mem" itself.
+ */
+ ptr_tmp = queue->mem + buf->buf.m.offset
+ + buf->buf.bytesused / 2;
+ /* When the top-half of the frame has been reversed,
+ * rows are copied from the last one stored in "mem_tmp"
+ * (and going up) into the bottom half part of "mem"
+ * buffer.
+ */
+ for (i = 0, k = buf->buf.bytesused / 2 - row_size;
+ i <>buf.bytesused;
+ i += row_size, k -= row_size) {
+ /* If the top-half of the frame has been
+ * revesed, then it is needed to split the
+ * source buffer from "mem" to "mem_tmp".
+ */
+ if (i == buf->buf.bytesused / 2) {
+ ptr_tmp = mem_tmp;
+ k = buf->buf.bytesused / 2 - row_size;
+ }
+ memcpy(queue->mem + buf->buf.m.offset + i,
+ ptr_tmp + k,
+ row_size);
+ }
+ /* For this frame "mem_tmp" is not needed any more. */
+ kfree(mem_tmp);
+ }
+ }
/* Complete the current frame if the buffer size was exceeded. */
if (len > maxlen) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (overflow).\n");
make
open with you editor the "Makefile" and change the following line:INSTALL_MOD_DIR := usb/media
porINSTALL_MOD_DIR := ubuntu/media/usbvideo
sudo modprobe -r uvcvideo
sudo make install
sudo modprobe uvcvideo
SD - Tajeta Secure Digital.NOTA: Tengo que hacer más pruebas, pero si arranco la máquina con la SD puesta si que la detecta perfectamente.No la detecta
Hay algo de un Toshiba que se puede probar.
# Remove SDHCI and MMC modules, if they are installed.
modprobe -r sdhci
modprobe -r mmc_block
# Change what interface is enabled.
setpci -s 07:06.2 4c.b=02
# Load the SD and MMC modules again.
modprobe sdhci || exit 1
modprobe mmc_block || exit 1
exit 0
Bluetooth, con el
ratón?????Y sin ratón, ahora no parece que detecte el BT
NOTA: Esto si que parece un cachondeo, después de probar un montón de cosas que había leído por la Red, resulta que arranco con Vista y en el icono de WIFI/BT activo las dos (por software, no con el interruptor que hay en un lado) y todo a funcionar desde ese momento.Enviado por coev el Mié, 13/12/2006 - 22:29
Primero de todo decir que antes de hacer el scan hay que darle
al boton reset que suelen llevar los ratones bluetooth(no es
absolutamente necesario,pero funciona igual o mejor).
Para KDE:
Si aun no te funciona el raton con ninguna de las cosas anteriores,pero
si te lo detecta haciendo el scan,lo que se puede hacer es crear un
autoejecutable para cuando inicie KDE(yo tengo Kubuntu 6.10).Para ello
creas un archivo en /home/USUARIO/.kde/Autostart/ (esta carpeta esta
oculta)yo lo he llamado blue.sh,ahi incluyes estas lineas:
---------
#!/bin/bash
hcitool scan
/etc/init.d/bluetooth restart
hidd --search
---------
guardas y reinicias y ya está.
Para Gnome:
si no hay algo parecido(si lo hay hazlo asi,pero en vez de /.kde/ debe
ser /.gnome/ en la direccion) creo que se puede agregar las lineas en
Sesiones en el menu de gnome.
Los mismos problemas que yo.
http://binblog.wordpress.com/2008/06/14/status-of-linux-on-the-asus-u6s/Para la instalación con UBUNTU:
http://seethisnowreadthis.com/2008/05/19/how-to-install-ubuntu-804-hardy-heron-on-the-asus-m50sv-a1/Problema al hibernar/suspender no recupera
SOLUCION: ejecutamos esto como root:
echo SUSPEND_MODULES=\"ehci_hcd\" > /etc/pm/config.d/WORKAROUND
Yo me he basado en esta guía.
19 05
2008 Almost all of the hardware on the Asus M50Sv-A1 works out of
the box after Ubuntu's installation is complete.
There are none the less a few tweaks that are needed to be performed
and few drivers that are needed to be installed. The screens brightness
can't be increased, the Nvidia driver is not installed, the webcam
driver is not installed, the fingerprint reader driver is not
installed, the email LED is non-functional, the microphone is not
enabled by default, and the hard drive has a firmware glitch. This
short installation tutorial is intended to save you the time and grief
associated with searching for each particular solution on the internet.
1. Screen Brightness
The ambient light sensor is the cause of the dim screen, we'll
have to turn it off. To fix this we will have to create a shell script
that will be run on boot up that will turn of the ambient light sensor.
A) Open
Terminal (Menu->Accessories), and type the following:
sudo nano brightness
B) Now
paste the following in the Terminal window:
#!/bin/sh
echo 0 > /sys/devices/platform/asus-laptop/ls_switch
C) Hit Ctrl-O
to save and then Ctrl-X to exit.
D) Now
we will copy our new shell script to the appropriate directory, make it
executable and add the following links by typing the following in
Terminal:
sudo mv brightness
/etc/init.d
and then
sudo chmod 755
/etc/init.d/brightness
and then
sudo update-rc.d
brightness defaults 90
E)
Reboot, and you will have regained control of your brightness level.
2. Nvidia Driver
Your screen resolution will be limited to 800×600 without the
appropriate drivers. Thanks to Alberto Milone's Envy the whole process is
automated for you, with the only requirement being an internet
connection.
A) First
we'll need to update Ubuntu's repositories by typing the following in
Terminal:
sudo apt-get update
B) Now
we'll need to install Envy by typing the following in Terminal:
sudo apt-get install
envyng-gtk
C) Next
we'll need to execute Envy by typing the following in Terminal:
sudo envyng -g
D)
Select Nvidia on the left side, now click on Install
the Nvidia driver (Manual Selection of the Driver), select
169.12, and finally click Apply.
E) Once
the installation is completed, reboot and you will once again have a
crisp screen.
3. Webcam Driver
The webcam if attempted to be used will crash any application
that is trying to access it by default. Thanks to the great tutorial by
Bill Giannikos the process of
installing your Asus uvc webcam driver is relatively easy.
A) First
we'll need to install the files needed to build the driver by typing
the following in Terminal:
sudo apt-get install
build-essential subversion linux-headers-`uname -r`
B) Now
we will build the driver by typing the following commands in Terminal:
cd /usr/src
and then
sudo svn checkout
svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
and then
cd trunk
and then
sudo make
and then
sudo cp -a uvcvideo.ko /lib/modules/`uname -r`/ubuntu/media/usbvideo/
C)
Reboot, and your webcam will now be working.
4. Fingerprint Reader Driver
The fingerprint reader is especially useful in Linux as you
are asked for your password before completing any change within the
operating system. None the less, I would still not recommend for you to
install the fingerprint reader driver due to its' unstable nature and
poor quality. The guide provided by Karol Krizka solved the problem of
installing this driver.
A) First
we'll need to add the driver source to our software repository by
typing the following in Terminal to open the sources list:
sudo nano
/etc/apt/sources.list
B) Now
scroll to the end of the file and paste the following line there:
deb http://ppa.launchpad.net/madman2k/ubuntu
hardy main restricted universe multiverse
C) Hit Ctrl-O
to save and then Ctrl-X to exit.
D)
Update the source list by typing the following in Terminal:
sudo aptitude update
E)
Install the fingerprint reader driver by typing the following in
Terminal:
sudo aptitude install
fprint-demo libpam-fprint libfprint
F)
Enroll your fingerprint by typing the following in Terminal:
sudo fprint_demo
G) Click
on Enroll and swipe your finger.
H) Now
we will have to tell Ubuntu when to use your fingerprint by editing the
fingerprint reader driver's configuration file by typing the following
in Terminal:
sudo nano
/etc/pam.d/common-auth
I) Paste
the following in the file at the end:
auth sufficient
pam_fprint.so
auth required pam_unix.so nullok_secure
J) Hit Ctrl-O
to save and then Ctrl-X to exit.
H)
Reboot, and you will be now scanning your finger instead of typing your
password each time.
5. Email LED
Having a LED notifying you of incoming emails is quite handy,
especially if you are not constantly by your computer. In this step I
will provide you with instructions, showing you how to enable the email
LED to work with the best Gmail notifier available - CheckGmail,
a function that even Windows cannot even provide.
A)
Follow the instructions provided by me in this tutorial to install
CheckGmail:
http://seethisnowreadthis.com/2008/05/20/checkgmail-linuxs-blackberry/
B) Open
the CheckGmail preferences and paste the following in the Command
to execute on new mail field:
echo 1 >
/sys/class/leds/asus:mail/brightness
C) Now
paste the following in the Command to execute for no mail
field:
echo 0 >
/sys/class/leds/asus:mail/brightness
D)
Without giving the right permissions CheckGmail will not be able to
turn on the LED. To do this we must type the following in Terminal:
gksudo nautilus
E)
Navigate to the following folder by pasting the following in Location
field in the newly open File Browser:
/sys/class/leds/asus:mail
Press Enter.
F)
Right-click on the file brightness, and select Properties.
G) Select
the Permissions tab.
H) Click
on root in the drop-down menu besides Owner
and select yourself.
I)
Without rebooting you should have now have the email LED notifying you
of incoming email.
6. Microphone
By default the microphone is not enabled in enabled in the
Volume Control menu. This problem will require the least effort.
A)
Righ-click on the speaker in the task bar and select Open
Volume Control.
B)
Select Edit from the menu, and then select Preferences.
C) Click
on the boxes besides Capture and Capture 1.
D) Now
your microphone should be working.
7. Hard drive
The Seagate Momentus 5400.4 250 Gb hard drive has a firmware
bug that makes Ubuntu park it every minute or so; the same problem
exists in Vista. This parking is considered a load cycle, of which your
hard drive was designed to complete 600,000 of such cycles. Without
this fix your hard drive can prematurely fail after only 8 months.
Thanks to jakon on ubuntuforums.org, we now have a
fix that fully works with the Asus M50Sv-A1.
A) First
we'll have to adjust the hard drive's power management settings by
typing the following in Terminal:
sudo nano
/etc/hdparm.conf
B) And
by pasting the following three lines in the file:
/dev/sda {
apm = 254
}
C) Hit Ctrl-O
to save and then Ctrl-X to exit.
D) Next
we'll have to tell the notebook to reactivate these settings after
resuming from suspend mode by typing the following in Terminal:
sudo nano 30hdparm
E) And
by pasting the following lines inside the file:
#!/bin/bash
# Run hdparm like on boot to
restore hdparm.conf settings -
# hds lose them when going to standby.
resume_hdparm()
{
for x in /sys/bus/ide/devices/*/block* /sys/bus/scsi/devices/*/block*
do
# This check is required - x can contain
# literal '/sys/bus/ide/devices/*/block*'
# when the glob did not match anything.
if [ -e $x ]
then
drive=$(basename $(readlink $x))
DEVNAME=/dev/$drive /lib/udev/hdparm
fi
done
}
case "$1″ in
thaw|resume)
resume_hdparm
;;
*)
;;
esac
exit $?
F) Hit Ctrl-O
to save and then Ctrl-X to exit.
G)
Finally we'll have to install the file we just created by typing the
following in Terminal:
sudo install 30hdparm
/etc/pm/sleep.d/
H)
Reboot and your hard drive should be working with Ubuntu as it should
have from the start.
This guide will now allow you to use your Asus M50Sv-A1 with the most
secure and progressive operating system at the moment that thrives on
the open source community which provides for a much more dynamic
experience than anything else out there now. Due to the fact that the
notebook is relatively new, not all of its' features could be fully
exploited. Really, only some non-essential hotkeys cannot be used, but
these are features that most of us are willing to trade for the
privilidge of being on the Linux platform. If you find any other tweaks
that could enhance Ubuntu on the Asus M50Sv-A1, please post below.