27 дек. 2009 г.

Установка VMWare workstation 7 на openSuse 11.2 x64

Для установки VMW необходимы следующие пакеты

gcc
gcc-c++
kernel-source
make
linux-kernel-headers
kernel-syms - просто необходим, без него можно провозится целый день и нихера не установить

После установки заходим в
/usr/src/linux-2.6.31.5-0.1
и выполняем


make clean
make mrproper
make cloneconfig
make modules_prepare

Уходим на перезагрузку.

 Запускаем VMW  - при первой загрузке может потребовать указание пути к header
они лежат здесь /usr/src/linux-2.6.31.5-0.1/include

25 дек. 2009 г.

запуск amarok на opensuse 11.2 x64

При переходе с opensuse 11.1 x32 на opensuse 11.2 x64 перестал работать amarok. Решил проблему следующим образом
  1. снес установленный amarok
  2. добавил в репозитории packman (при установке отдавал предпочтение кодекам из packman)
  3. установил драйвера с http://opensuse-community.org/Restricted_Formats/11.2 
  4. установил в один клик amarok отсюда
В результате данных манипуляций  я опять слушаю музыку в любимом плеере

wi-fi под linux на примере opensuse

для данной статьи использовались следующие статьи:
статья 1 и статья 2
первоначально выполнил:
# lspci -vnn |grep 14e4
результат :
0b:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)
в статье 2 соответствует  для данного контроллера [14e4:4315] соответствует драйвер b43
Для работы необходим так же пакет b43-fwcutter  (Tool for extracting firmware from newer Broadcom WLAN drivers)

для автоматической установки нужной прошивки, необходимой дял правильной работы адаптера можно выполнить 

sudo /usr/sbin/install_bcm43xx_firmware

если данный скрипт не отрабатывает - можно сделать вручную:

скачиваем последнюю версию файла прошивки

далее выполняем

tar xjf broadcom-wl-4.150.10.5.tar.bz2

sudo b43-fwcutter -w /lib/firmware broadcom-wl-4.150.10.5/driver/wl_apsta_mimo.o

в результате устанавливаются драйвера на Wi-Fi

После перезагрузки дрова не стали и пришлось идти другим путем.

нашел на сайте статью , соответственно скачал под своё ядро broadcom-wl
после перезагрузки выполнил
#iwconfig 

результат
lo no wireless extensions.


eth0 no wireless extensions.


eth1 IEEE 802.11bg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power:off
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


pan0 no wireless extensions.

появился eth1 - наш вай фай, но при сканировании на наличие беспроводных сетей iwlist scanning
выдает ошибку

eth1 Failed to read scan data : Invalid argument
После всех нелегких - решил все таки попробовать поставить дрова при помощи ndiswrapper. Установил данную тулзу, воспользовался статьей. Драйвера нашлись легко на диске к ноуту при помощи поиска по маске "bcm". Далее выполнил
/windows/C/tmp/R174291/DRIVER # ndiswrapper -i bcmwl5.inf
installing bcmwl5 ...
Где /windows/C/tmp/R174291/ - путь к драйверам для модуля wi-fi 

После выполнил
ndiswrapper -l 
bcmwl5 : driver installed
device (14E4:4315) present
Данный ответ показал что драйвера стали нормально.
Запустил службу ndiswrapper при помощи
  #modprobe ndiswrapper 
После чего выполнил
#iwconfig 

lo no wireless extensions.


eth0 no wireless extensions.


pan0 no wireless extensions.


ppp0 no wireless extensions.


wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s Tx-Power:32 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
что показало установку дров нормально.


При переходе на Suse 11.2 x64 драйвера установились нормально при помощи  скрипта install_bcm43xx_firmware.

Для подключения к точке доступа я использовал следующую конфигурацию
essid - myssid 
используется шифрование wpa с контрольной фразой mysecretkey и методом AES
адрес точки 172.16.100.1


Для корректной работы с wi-fi переключил точку доступа в видимый режим(откликается на броадкасты)


для работы с wpa необходим пакет wpa_supplicant.
при помощи wpa_passphrase выполняем  
wpa_passphrase myssid mysecretkey


в результате чего получаем вывод



network={
  ssid="myssid"
  #psk="mysecretkey"
   psk=dbb1c3d6389801dd6126ce1f4ed1fc0c6b6c6ba19803bb91a1a35a8bfcb59450
}
эти данные вносим в файл /etc/wpa_supplicant/wpa_supplicant.conf


после запускаем  
  
# ip link set eth1 up
# iwconfig eth1 essid myssid
# wpa_supplicant -dddt -ieth1 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext -f /var/log/wpa_supplicant.log &
# dhclient eth1
# route add default gw 172.16.100.1 eth1
 

если точка не держит dhcp то присвоить ip статически при помощи
# ifconfig 172.16.100.2 eth1

также могут не подтянуться dns сервера, для чего прописываем их в /etc/resolv.conf
nameserver dns1
nameserver dns2 
полезная команда 
/etc/init.d/network restart  














 

7 дек. 2009 г.

HDMI подключение ноутбука и ТВ

Столкнулся с такой проблемой - захотелось протестировать HDMI выход на своем ноутбуке dell 1525, благо был под рукой ТВ(Sony Bravia) с HDMI входом. Для подключения нужно было купить кабель HDMI - HDMI. Почитав форумы понял - что найти какую нибудь полезную информацию о том какой кабель лучше - невозможно. Кто говорит что китайский нонейм рабочий попадается один из 20, кто говорит что кабель с ценником в 20$/метр - должен работать как пить дай, кто то пишет что все зависит от подключаемых устройств. Самым информативным постом по пововду выбора кабеля стал пост на форуме. Так же полезно ознакомится с базовой информацией о самом HDMI. При покупке выбор пал на нонеймовский 3-х метровый кабель с ценником в 13$.

При подключении ТВ к ноутбуку было найдено новой устройство, определенное как стандартный монитор. В настройках видеокарты (Intel X3100) был выставлен 2-ой монитор как цифровой телевизор. Прочитав мануал к ТВ на режимы отображения были найдены 1280x720@50 (720p), 1280x768@60 и 1360x768@60 . ПРи подключении на 1360x768@60 показывало нормально в течении 2-х часов, а после начались проблемы - начал пропадать видеосигнал. При подключении на разрешении 720p рабочий стол отображается не полностью (размеры рабочего стола выходят за границы ТВ) никакими настройками рабочий стол не был нормально настроен, соответственно пришлось ставить режим 1280x768@60 (ТВ почему то показывал 1360x768@60, аналогично как и настройки рабочего стола)  . При данном разрешении рабочий стол полностью отображается, но по краям видны черные полосы(неиспользованное место) - полет нормальный. Возникли так же проблемы с передачей звука по интерфейсу HDMI - поковырявшись в настройках, ничего лучшего как поставить HDMI как основное устройство для воспроизведения звука не нашлось. В итоге - ТВ нормально показывает картинку и проигрывает музыку. При подключении ТВ в настройках аудио автоматически ставиться HDMI Audio как основное устройство для воспроизведения речи.
 Версия драйверов для видео 6.14.10.5029,
Accelerator in Use: Mobile Intel(R) 965 Express Chipset Family
Video BIOS: 1566.0.

Драйвера на звук Sigmatel Audio 5.10.0.5515.

21 нояб. 2009 г.

Need for speed :SHIFT проблемы на Windows 7(ошибка c0000005)

Поставил себе на Windows 7 x64 NFS Shift, но так и не поиграл, т.к. вылетает ошибка
Problem signature:

Problem Event Name: APPCRASH
Application Name: shift.exe
Application Version: 1.0.0.0
Application Timestamp: 4a953d01
Fault Module Name: shift.exe
Fault Module Version: 1.0.0.0
Fault Module Timestamp: 4a953d01
Exception Code: c0000005
Exception Offset: 0034b2b5
OS Version: 6.0.6001.2.1.0.256.1
Locale ID: 1033
Additional Information 1: fd00
Additional Information 2: ea6f5fe8924aaa756324d57f87834160
Additional Information 3: fd00
Additional Information 4: ea6f5fe8924aaa756324d57f87834160


Покурив форумы нашел несколько вариантов решения проблемы и в итоге - нашел решение
1. Отрубить антивирусник и файерволл:
Поставил в исключения папку с гулей и папку с сохраненками
2. В настройках графики поставить  фильтрацию текстур  билинейную и отключить синхронизацию кадров
3. Установить DirectX именно с диска
4. Удалить файл gameconfig.xml  (не нашел оного нигде)
5. Поставил патч 1.1 - тоже не помогло
6. Выставить режим совместимости с Win98/win ME  - аналогично, никакого толку
7. Скачал вместо кряка - NoDVD - проблема так и не решилась
8. И вот оно , мать его за ногу, решение - нужно было снести более новый PhsyX  с компьютера и поставить именно тот, который был на диске с игрой.

20 нояб. 2009 г.

Проблема с gtx 275 на Windows 7

Случилась такая беда - собрал себе недавно комп на базе Intel 2 Quad , но так как бюджет был ограничен, взял мамку со встроенным видео, в результате когда вырос бюджет - появилась необходимость поменять видеокарту со встроенной на приличную gtx 275. Прикупив данный девайс от GigaByte GV-N275UD-896I довольный прилетел домой, вставил видео, но винда начала виснут(после установки дров). Конфигурация железа:
Asus p5q-vm
Intel 2 Quad @9400
Samsung 250Gb
DDR-2 800Mhz
БП на 450 Вт нонэйм.
Железяка крутилась под управлением Windows 7 x64. Покурив форумы понял что не хватает БП(в мануале написано было что не нужен БП на 550 Вт и выше) и как результат поменял нонэйм 450 Вт на нонэйм 750 Вт (A-power). ОС все равно продолжала виснуть. Только на одном из форумов нашел что трабла может исходить из прошивки биоса материнки (на материнку я не грешил, т.к. в описании написано что только последняя прошивка нормально работает с моим камнем) - скачал - прошил - запустилось. Так что и БП скорее всего был не причем.
Кстати с установкой дров потребовались так же танцы с бубном - необходимо было загружаться под безопасным режимом и сносить дрова от мелкомягкого и только после ребута ставить дрова от Nvidia( стандартные дрова 191.07 вполне подошли)

27 окт. 2009 г.

Преобразования JSON в PHP

Столкнулся с проблемой преобразования массива данных в PHP для передачи в формате JSON. В PHP есть ф-ция json_encode, но она работает только с данными в кодировке UTF-8, в результате чего пришлось кодировать данные при помощи самописной функции prepareDataForJson:

function prepareDataForJson(&$data)
{
if(is_array($data))
{
foreach(array_keys($data)as $k)
{
prepareDataForJson($data[$k]);
}
}else{
if(isset($data) && $data!='')
{
$data = htmlspecialchars($data);
$data = iconv('CP1251', 'UTF-8', $data);
}
}
}

и после этого передать в json_encode. Результат вывода был в виде \uXXXX, где ХХХХ - 4-х значный символ в UTF-16. Пришлось прогонять данные через самописную функцию unicode_decode :

function unicode_decode($str)
{
return preg_replace("/\\\u([0-9A-F]{4})/ie", "iconv('UTF-16', 'UTF-8',hex2str(\"$1\"))", $str);
}

function hex2str($hex)
{
return chr(hexdec($hex[2] . $hex[3])) . chr(hexdec($hex[0] . $hex[1]));
}


И только после данных преобразований получился требуемый JSON массив.

23 сент. 2009 г.

Ролловер на JS с помощью jQuery

Необходимо было прикрутить на сайт какой скрипт, который меняет картинки с определенной периодичностью. В качестве примера был дан сайт. Немного покурив тырнет наткнулся на плагин для jQuery. Данная статья лежит сдесь. Для моего случая я использовал 

21 сент. 2009 г.

Проблемы с kopete

В один прекрасный день отвалился kopete, аналогично произошло и с pidgin, писало ошибку "Невозможно подключиться к ICQ с учётной записью ххххххххх", в результате поисков наткнулся на сие решение

нужно было добавить(или подредактировать) в файле ~/.kde4/share/config/kopeterc следующие строки

[ICQVersion]
Build=6059
ClientId=ICQ6
ClientString=
Country=us
Lang=en
Major=6
Minor=0
Other=11
Point=0


Попадались вариации и с другими значениями билда и протокола, но заработало только с этими

Использовалась версия Kopete 0.60.3(KDE 4.1.3) "release 4.9"


19 сент. 2009 г.

Установка локали на Linux-сервер

Для корректной работы функции iconv (PHP) на сервере потребовалась установка локали CP1251. В результате были выполнены след действия:
поставлен пакет glibc-i18ndata (не ставил его по дефолту)
# zypper in glibc-i18ndata
добавил CP1251 коммандой
# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251
на что в ответ на запрос
# locale -a | grep ru_RU
получил
ru_RU
ru_RU.cp1251
ru_RU.koi8r
ru_RU.utf8
Для корректной работы переименовал локали в верхний регистр
# mv /usr/lib/locale/ru_RU.cp1251 /usr/lib/locale/ru_RU.CP1251
# mv /usr/lib/locale/ru_RU.utf8 /usr/lib/locale/ru_RU.UTF-8
# mv /usr/lib/locale/ru_RU.koi8r /usr/lib/locale/ru_RU.KOI8-R
и как результат
> locale -a | grep ru_RU
получил
ru_RU
ru_RU.CP1251
ru_RU.KOI8-R
ru_RU.UTF-8