<?xml version="1.0" encoding="utf-8" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    
    <link href="https://vampik.ru:443/feeds/atom.xml" rel="self" title="Vampik's personal blog" type="application/atom+xml" />
    <link href="https://vampik.ru:443/"                        rel="alternate"    title="Vampik's personal blog" type="text/html" />
    <link href="https://vampik.ru:443/rss.php?version=2.0"     rel="alternate"    title="Vampik's personal blog" type="application/rss+xml" />
    <link rel="stylesheet" href="" type="text/css" />
    <title type="html">Vampik's personal blog</title>
    <subtitle type="html">Заметки сисадмина</subtitle>
    <icon>https://vampik.ru:443/templates/2k11/img/s9y_banner_small.png</icon>
    <id>https://vampik.ru:443/</id>
    <updated>2020-09-23T07:40:00Z</updated>
    <generator uri="http://www.s9y.org/" version="">Serendipity  - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="https://vampik.ru:443/post/10/" rel="alternate" title="Missing virtio drivers after genkernel upgrade on Gentoo" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2020-09-23T07:40:00Z</published>
        <updated>2020-09-23T07:40:00Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=10</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/10/</id>
        <title type="html">Missing virtio drivers after genkernel upgrade on Gentoo</title>
        <content type="html">
            <![CDATA[<p>After upgrading genkernel to version 4.0.0_rc1 or higher on Gentoo you may encounter that your KVM virtual machine doesn't boot with a newly built kernel or doesn't have the networking or something else. The reason is that virtio drivers are now disabled by default in genkernel's kernel config.<br />
The solution is to either make use of <em>--virtio</em> command line option or manually enable all needed drivers in the kernel config.</p>

<p>The same also applies to bcache - use <em>--bcache</em> or manually enable CONFIG_BCACHE and to HyperV in genkernel 4.0.0 or higher - use <em>--hyperv</em> or manually enable all needed drivers.</p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/9/" rel="alternate" title="No console on tty1 after systemd upgrade on Gentoo" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2020-09-23T07:14:00Z</published>
        <updated>2020-09-23T07:14:00Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=9</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/9/</id>
        <title type="html">No console on tty1 after systemd upgrade on Gentoo</title>
        <content type="html">
            <![CDATA[<p>After upgrading systemd to version 242 or higher on Gentoo you may encounter that you do not have a console on tty1 anymore.</p>

<p>To fix this you need to issue the following commands:</p>

<pre class="code">
  # systemctl enable getty@tty1.service
  # systemctl enable remote-fs.target</pre>

<p>This is not needed for new installs after 2019-08-12 since there was a fix for new installs. However upgrading old existing installs is still affected.</p>

<p>Gentoo bug <a href="https://bugs.gentoo.org/691854">#691854</a>.</p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/8/" rel="alternate" title="Swapfile issue after kernel upgrade" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2020-09-23T07:06:00Z</published>
        <updated>2020-09-23T07:06:00Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=8</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/8/</id>
        <title type="html">Swapfile issue after kernel upgrade</title>
        <content type="html">
            <![CDATA[<p>After upgrading to Linux kernel 5.7 or higher you may encounter an issue with a swapfile created using fallocate.</p>

<pre>
  [    3.675736] swapon: swapfile has holes
  [    3.684412] systemd[1]: swapfile.swap: Swap process exited, code=exited, status=255/EXCEPTION
  [    3.684417] systemd[1]: swapfile.swap: Failed with result 'exit-code'.
  [    3.685196] systemd[1]: Failed to activate swap /swapfile.</pre>

<p>Solution: re-create the swapfile using dd.</p>

<pre>
  # truncate -s 0 /swapfile
  # dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress
  # mkswap /swapfile
  # swapon -a</pre>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/7/" rel="alternate" title="Gentoo overlay" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2019-07-17T16:51:00Z</published>
        <updated>2020-09-17T08:48:24Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=7</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=7</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/7/</id>
        <title type="html">Gentoo overlay</title>
        <content type="html">
            <![CDATA[<p>My personal Gentoo overlay: <a href="https://github.com/vampik/gentoo-overlay">https://github.com/anyuta1166/gentoo-overlay</a></p>

<p>Here is the list of my ebuilds with their modifications:</p>

<p><strong>app-misc/mosquitto</strong></p>

<ul>
	<li>add systemd USE flag to compile with systemd support if present</li>
	<li>use systemd unit file provided by the upstream</li>
</ul>

<p><strong>dev-lang/php</strong></p>

<ul>
	<li>add the patch by <span class="d-block overflow-hidden p-name vcard-fullname" itemprop="name"><strong>Manuel Mausz</strong> </span>to fix the 9 years old bug <a href="https://bugs.php.net/bug.php?id=53611">#53611</a> <em>(fastcgi_param PHP_VALUE pollutes other sites)</em> (not yet accepted by upstream)</li>
	<li>add the patch by <span class="d-block overflow-hidden p-name vcard-fullname" itemprop="name"><strong>Manuel Mausz</strong> </span>that changes the mode of <strong><em>PHP_VALUE</em></strong> from <strong><em>ZEND_INI_USER</em></strong> to <strong><em>ZEND_INI_PERDIR</em></strong> and disables <strong><em>PHP_ADMIN_VALUE</em></strong></li>
</ul>

<p><strong>media-sound/murmur</strong></p>

<ul>
	<li>fix systemd unit startup error by moving configuration file from <strong><em>/etc/murmur/murmur.ini</em></strong> to <strong><em>/etc/murmur.ini</em></strong> as expected by upstream</li>
</ul>

<p style="margin-left:40px">Gentoo bug: <a href="https://bugs.gentoo.org/689208">#689208</a> (partially accepted).</p>

<p><strong>net-dns/dnsdist</strong></p>

<ul>
	<li>patch systemd unit file to make use of <strong><em>dnsdist</em></strong> user/group</li>
</ul>

<p><strong>net-dns/pdns-recursor</strong></p>

<ul>
	<li>remove <strong><em>chroot</em></strong> option because it is incompatible with the systemd unit file provided by the upstream, according to the upstream policy (see <a href="https://github.com/PowerDNS/pdns/issues/4848">#4848</a> <a href="https://github.com/PowerDNS/pdns/issues/4179">#4179</a>: <em>Our policy is, don't chroot.</em>)</li>
	<li>remove <strong><em>quiet</em></strong> option because it is on by default, and thus there is no need to modify it</li>
</ul>

<p style="margin-left:40px">It is impossible to start the service if using systemd without either removing <strong><em>chroot</em></strong> option or modifying the systemd unit file.</p>

<p><strong>net-firewall/iptables</strong></p>

<ul>
	<li>use custom systemd unit file<br />
	Gentoo bug: <a href="https://bugs.gentoo.org/555920">#555920</a> (no answer)</li>
</ul>

<p><strong>net-proxy/shadowsocks-libev</strong></p>

<ul>
	<li>use configuration and systemd unit files provided by the upstream</li>
</ul>

<p>to be continued..</p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/6/" rel="alternate" title="Повреждение дисков виртуальной машины при миграции в Proxmox, часть 2" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2019-01-19T22:25:57Z</published>
        <updated>2019-01-19T22:25:57Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=6</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/6/</id>
        <title type="html">Повреждение дисков виртуальной машины при миграции в Proxmox, часть 2</title>
        <content type="html">
            <![CDATA[<p>Первоначально я решил проблему простым патчем:</p>

<pre class="bz_comment_text" id="comment_text_0">
--- /usr/share/perl5/PVE/Storage/LVMPlugin.pm.bak       2018-12-14 14:21:48.000000000 +0300
+++ /usr/share/perl5/PVE/Storage/LVMPlugin.pm   2019-01-10 12:35:44.665242759 +0300
@@ -601,7 +601,7 @@
        }
        my $file = $class-&gt;path($scfg, $volname, $storeid)
            or die "internal error: failed to get path to newly allocated volume $volname\n";
-       run_command(['dd', "of=$file", 'conv=sparse', 'bs=64k'],
+       run_command(['dd', "of=$file", 'bs=64k'],
                    input =&gt; '&lt;&amp;'.fileno($fh));
     };
     if (my $err = $@) {</pre>

<p>Но оказалось, что патч не совсем корректный - исправляет LVM, но ломает LVM Thin. Так как LvmThinPlugin наследуется от LVMPlugin, он использует ту же командную строку для запуска dd. В результате удаления аргумента <em>conv=sparse</em> диск после миграции начинает занимать свой полный объем, становится не разреженным. Один из разработчиков предложил корректное исправление вот здесь: <a href="https://pve.proxmox.com/pipermail/pve-devel/2019-January/035313.html">https://pve.proxmox.com/pipermail/pve-devel/2019-January/035313.html</a></p>

<pre>
 PVE/Storage/LVMPlugin.pm     | 10 ++++++++--
 PVE/Storage/LvmThinPlugin.pm |  7 +++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/PVE/Storage/LVMPlugin.pm b/PVE/Storage/LVMPlugin.pm
index 72d7464..9ad7979 100644
--- a/PVE/Storage/LVMPlugin.pm
+++ b/PVE/Storage/LVMPlugin.pm
@@ -620,8 +620,8 @@ sub volume_import {
     }
     my $file = $class-&gt;path($scfg, $volname, $storeid)
         or die "internal error: failed to get path to newly allocated volume $volname\n";
-    run_command(['dd', "of=$file", 'conv=sparse', 'bs=64k'],
-                input =&gt; '&lt;&amp;'.fileno($fh));
+
+    $class-&gt;volume_import_write($fh, $file);
     };
     if (my $err = $@) {
     eval { $class-&gt;free_image($storeid, $scfg, $volname, 0) };
@@ -630,4 +630,10 @@ sub volume_import {
     }
 }
 
+sub volume_import_write {
+    my ($class, $input_fh, $output_file) = @_;
+    run_command(['dd', "of=$output_file", 'bs=64k'],
+    input =&gt; '&lt;&amp;'.fileno($input_fh));
+}
+
 1;
diff --git a/PVE/Storage/LvmThinPlugin.pm b/PVE/Storage/LvmThinPlugin.pm
index 122fb37..aafc202 100644
--- a/PVE/Storage/LvmThinPlugin.pm
+++ b/PVE/Storage/LvmThinPlugin.pm
@@ -374,4 +374,11 @@ sub volume_has_feature {
     return undef;
 }
 
+# used in LVMPlugin-&gt;volume_import
+sub volume_import_write {
+    my ($class, $input_fh, $output_file) = @_;
+    run_command(['dd', "of=$output_file", 'conv=sparse', 'bs=64k'],
+    input =&gt; '&lt;&amp;'.fileno($input_fh));
+}
+
 1;
-- 
2.11.0</pre>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/5/" rel="alternate" title="Повреждение дисков виртуальной машины при миграции в Proxmox" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2019-01-10T13:05:00Z</published>
        <updated>2019-01-19T22:27:54Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=5</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/5/</id>
        <title type="html">Повреждение дисков виртуальной машины при миграции в Proxmox</title>
        <content type="html">
            <![CDATA[<p>Внезапно столкнулся с такой проблемой. Есть кластер Proxmox VE, и виртуальная машина в нем, которая работает на ноде A. Понадобилось перенести ее на ноду B. После переноса она не запускается. Операционная система ругается на повреждение системных файлов. Восстановление из бекапа и повторный перенос проходят с точно таким же результатом, т.е. это не случайный сбой. Проверка контрольных сумм файлов показывает, что на ноде B они действительно повреждены.</p>

<p>Много времени было убито в попытках понять вероятную причину, но оказалось вот что.</p>

<p>Если у вас кластер Proxmox VE и в качестве хранилища используется LVM (обычный, не thin), то при миграции между нодами содержимое дисков может быть повреждено. Схема миграции дисков на LVM простая - содержимое читается посредством <em>dd</em>, передается по сети и записывается в месте назначения с помощью того же <em>dd</em>. Запись осуществляется командной строкой вида:</p>

<pre class="bz_comment_text" id="comment_text_0">
dd of=/dev/pve/vm-100-disk-0 conv=sparse bs=64k</pre>

<p>Уже догадались, да? Или нет?</p>

<pre>
Each CONV symbol may be:
...
sparse try to seek rather than write the output for NUL input blocks
...</pre>

<p>Proxmox помешан на тонких хранилищах, где образы дисков занимают столько же места, сколько данные внутри них - LVM Thin, ZFS, разрежённые файлы. Похоже кто-то из разработчиков забыл, что с простым LVM такое не работает. Если на виртуальном диске есть нулевые блоки, то после переноса диска на другую ноду вместо них окажутся неопределенные данные, а именно - то, что было ранее записано на этом месте на диске хост-машины.</p>

<p>Хорошо, что удалось заметить эту проблему по порче системного файла, а не какой-нибудь важной базы данных, например.</p>

<p>Все сказанное актуально для последней на текущий момент версии:</p>

<pre>
proxmox-ve: 5.3-1 (running kernel: 4.15.18-9-pve)
pve-manager: 5.3-6 (running version: 5.3-6/37b3c8df)</pre>

<p>Судя по коммитам в git, могу предположить, что этой проблеме возможно не менее полутора лет. Неужели до сих пор никто не заметил такой критический баг с повреждением данных? Что, никто не использует кластер с локальным LVM хранилищем? Все сидят на ZFS, LVM Thin или NAS/SAN хранилищах?</p>

<p>Отправлено в багтрекер разработчиков: <a href="https://bugzilla.proxmox.com/show_bug.cgi?id=2050">https://bugzilla.proxmox.com/show_bug.cgi?id=2050</a></p>
&#160;

<p>&#160;</p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/4/" rel="alternate" title="Thermaltake DPS G App - сворачивание в трей при автозапуске" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2018-08-14T20:04:41Z</published>
        <updated>2018-08-14T20:32:39Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=4</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=4</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/4/</id>
        <title type="html">Thermaltake DPS G App - сворачивание в трей при автозапуске</title>
        <content type="html">
            <![CDATA[<p>Посчастливилось стать обладателем "умного" блока питания THERMALTAKE SMART DPS SPG-0750DPCG. В блок питания встроен чип мониторинга, который позволяет получать следующие данные: напряжение и ток по каждой из линий (3.3V, 5V, 12V), выходную мощность, коэффициент эффективности, температуру и скорость вентилятора. Идея хорошая, но как всегда подкачало прилагающееся к хорошему железу убогое поделие китайских программистов.</p>

<p>Опустим общую кривость программы, данная заметка не об этом. Есть один очень раздражающий момент. Thermaltake DPS G App в 3 мажорной версии до сих пор не умеет такую простую вещь, как сворачиваться в трей при автозапуске. В итоге при каждом запуске Windows окно программы красуется по центру экрана и его приходится вручную закрывать.</p>

<p>Для решения данной проблемы был составлен небольшой скрипт на AutoIt. Дело немного осложнилось тем, что приложение написано на Qt, из-за чего пришлось применить банальную эмуляцию клика мышкой. Но к счастью, здесь на руку играет то, что китайские программисты зачем-то сделали окно программы фиксированного размера.</p>

<pre>
#include &lt;AutoItConstants.au3&gt;
Opt("TrayIconHide", 1)
Opt("WinTitleMatchMode", 3)
Local $hWnd = WinWait("[TITLE:ThermaltakeDPSPOWER;CLASS:Qt5QWindowIcon]", "", 20)
If Not $hWnd Then Exit
WinActivate($hWnd)
If Not WinActive($hWnd) Then Exit
Local $aPos = MouseGetPos()
Opt("MouseCoordMode", 0)
MouseClick($MOUSE_CLICK_PRIMARY, 981, 21, 1, 0)
Opt("MouseCoordMode", 1)
MouseMove($aPos[0], $aPos[1], 0)</pre>

<p>Достаточно добавить его в автозапуск и проблема решена.</p>

<p>Скрипт в виде файла: <a class="block_level opens_window" href="https://vampik.ru:443/uploads/ttdpsgapptotray.au3" title="ttdpsgapptotray.au3">ttdpsgapptotray.au3</a></p>

<p>Скомпилированный бинарник: <a class="block_level opens_window" href="https://vampik.ru:443/uploads/ttdpsgapptotray.exe" title="ttdpsgapptotray.exe">ttdpsgapptotray.exe</a></p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/3/" rel="alternate" title="PinTo10v2 v1.2" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2018-08-07T17:28:44Z</published>
        <updated>2018-08-07T17:53:51Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=3</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=3</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/3/</id>
        <title type="html">PinTo10v2 v1.2</title>
        <content type="html">
            <![CDATA[<p>В рамках автоматической установки Windows или в групповых политиках иногда возникает необходимость прикрепить или открепить ярлык программы на панели задач или в меню "Пуск". Скрипты на базе VBS, предназначенные для Windows 7, перестали работать в Windows 10. Для решения этой проблемы Stuart Pearson создал утилиту PinTo10 на базе<span class="extended-text__short"> NSIS. А позднее, так как NSIS не совсем хорошо подходит для данной цели, обновленную версию на C# - </span>PinTo10v2. Ее официальная страница в интернете: <a href="https://pinto10blog.wordpress.com/" target="_blank">https://pinto10blog.wordpress.com/</a>.</p>

<p>Программа универсальная и работает как на Windows 7, так и на Windows 10. Windows 8 и серверные ОС не поддерживаются.</p>

<p>К сожалению, в процессе использования данной утилиты обнаружился баг. Программа вылетает с ошибкой при попытке работы с ярлыками на панели задач, если в пути запуска программы использовались короткие имена в формате "8.3".</p>

<p>Немного технических деталей. Например, программа запускается из временной папки, и переменная %TEMP% у пользователя LongUserName будет равна C:\Users\LONGUS~1\AppData\Local\Temp. Функция ChangeImagePathName(), с помощью которой PinTo10v2 симулирует Windows Explorer, из-за использования GetDirectoryName() развернет это в C:\Users\LongUserName\AppData\Local\Temp и выбросит исключение, т.к. новый путь якобы длиннее старого. Более того, исключение не обрабатывается, и программа в результате падает с ошибкой.</p>

<p>Я сделал пару изменений в исходном коде для исправления этой проблемы. Во-первых, добавил обработку исключения. Теперь в случае ошибки программа просто выведет соответствующее сообщение и закроется. Во-вторых, избавился от GetDirectoryName() в&#160;ChangeImagePathName(). Нашел исходный код этой функции на Github и взял из нее буквально пару строчек, удалив ненужные проверки и трансформации.</p>

<p>Моя модифицированная версия PinTo10v2 v1.2. Содержит исходный код и бинарник, скомпилированный Visual Studio 2015: <a href="https://vampik.ru:443/uploads/PinTo10v2_1.2.7z" title="PinTo10v2_1.2.7z">PinTo10v2_1.2.7z</a></p>

<p>Оригинальная утилита PinTo10v2 v1.1 от Stuart Pearson:<br />
<a href="https://www.dropbox.com/s/q4joxy231hz0klj/PinTo10v2_1.1.zip?dl=1" target="_blank">https://www.dropbox.com/s/q4joxy231hz0klj/PinTo10v2_1.1.zip?dl=1</a>.<br />
Зеркало: <a href="https://vampik.ru:443/uploads/PinTo10v2_1.1.zip" title="PinTo10v2_1.1.zip">PinTo10v2_1.1.zip</a></p>
 ]]>
        </content>
        
    </entry>
    <entry>
        <link href="https://vampik.ru:443/post/1/" rel="alternate" title="Модификация прошивки &quot;от энтузиастов&quot; для маршрутизаторов Asus, D-Link, Netgear" />
        <author>
            <name>Vampik</name>
                    </author>
    
        <published>2018-06-30T10:59:38Z</published>
        <updated>2018-07-04T17:53:09Z</updated>
        <wfw:comment>https://vampik.ru:443/wfwcomment.php?cid=1</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>https://vampik.ru:443/rss.php?version=atom1.0&amp;type=comments&amp;cid=1</wfw:commentRss>
    
    
        <id>https://vampik.ru:443/post/1/</id>
        <title type="html">Модификация прошивки &quot;от энтузиастов&quot; для маршрутизаторов Asus, D-Link, Netgear</title>
        <content type="html">
            <![CDATA[<p>Прошивка <em>от Vampik</em> - не является самостоятельной прошивкой, это модификация прошивки <em>1.9.2.7-d/-rtn от энтузиастов</em> (авторы - <strong>lly</strong> и <strong>theMIROn</strong>). Она в свою очередь является продолжением небезызвестных прошивок <em>"от Олега"</em>.</p>

<p>Разработка модификации прекращена в 2013 г. в связи с устареванием оборудования и отсутствием поддержки новых моделей в ядре.</p>

<p><strong>Последние версии прошивки:</strong></p>

<p><strong>Устаревшая прошивка ветки -d</strong></p>

<ul>
	<li>1.9.2.7-d-r3591M от 10.11.2011<br />
	&#160;
	<table border="1" cellpadding="1" cellspacing="1" style="width:100%">
		<tbody>
			<tr>
				<td>D-Link DIR-320 rev. A1, A2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/d/3591/DIR320-1.9.2.7-d-r3591M.trx">DIR320-1.9.2.7-d-r3591M.trx</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия WL, DIR-320)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/d/3591/modules-1.9.2.7-d-r3591M.tar.bz2">modules-1.9.2.7-d-r3591M.tar.bz2</a></td>
			</tr>
			<tr>
				<td>исходный код</td>
				<td><a href="https://vampik.ru:443/files/wl500g/d/3591/vampik-d-r3591.tar.bz2">vampik-d-r3591.tar.bz2</a></td>
			</tr>
		</tbody>
	</table>
	</li>
</ul>

<p><strong>Новая прошивка ветки -rtn</strong></p>

<ul>
	<li>3.0.6.5212 от 04.08.2013<br />
	Последняя регулярная ночная сборка.<br />
	&#160;
	<table border="1" cellpadding="1" cellspacing="1" style="width:100%">
		<tbody>
			<tr>
				<td>D-Link DIR-320 rev. A1, A2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/DIR320-3.0.6.5212.trx">DIR320-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>D-Link DIR-620 rev. C1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/DIR620C1-3.0.6.5212.trx">DIR620C1-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N10-3.0.6.5212.trx">RT-N10-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N10U-3.0.6.5212.trx">RT-N10U-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N12-3.0.6.5212.trx">RT-N12-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. B1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N12B1-3.0.6.5212.trx">RT-N12B1-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N15U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N15U-3.0.6.5212.trx">RT-N15U-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N16</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/RT-N16-3.0.6.5212.trx">RT-N16-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gp</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WL500gp-3.0.6.5212.trx">WL500gp-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gpv2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WL500gpv2-3.0.6.5212.trx">WL500gpv2-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500W</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WL500W-3.0.6.5212.trx">WL500W-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-700gE</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WL700g-3.0.6.5212.trx">WL700g-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WNR3500L-3.0.6.5212.trx">WNR3500L-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/WNR3500LV2-3.0.6.5212.trx">WNR3500LV2-3.0.6.5212.trx</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия WL, DIR-320)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/modules-3.0.6.5212-MIPS32r1.tar.bz2">modules-3.0.6.5212-MIPS32r1.tar.bz2</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия RT-N, DIR-620, WNR3500L)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/modules-3.0.6.5212-MIPS32r2.tar.bz2">modules-3.0.6.5212-MIPS32r2.tar.bz2</a></td>
			</tr>
			<tr>
				<td>исходный код</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5212/mod-rtn-r5212.tar.bz2">mod-rtn-r5212.tar.bz2</a></td>
			</tr>
		</tbody>
	</table>
	</li>
	<li>3.0.6.5214 от 15.06.2014<br />
	Небольшое обновление версии от 2013 г. Исправление поддержки IPv6. Улучшение поддержки 4G модемов.<br />
	&#160;
	<table border="1" cellpadding="1" cellspacing="1" style="width:100%">
		<tbody>
			<tr>
				<td>D-Link DIR-320 rev. A1, A2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/DIR320-3.0.6.5214.trx">DIR320-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>D-Link DIR-620 rev. C1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/DIR620C1-3.0.6.5214.trx">DIR620C1-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N10-3.0.6.5214.trx">RT-N10-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N10U-3.0.6.5214.trx">RT-N10U-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N12-3.0.6.5214.trx">RT-N12-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. B1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N12B1-3.0.6.5214.trx">RT-N12B1-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N15U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N15U-3.0.6.5214.trx">RT-N15U-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N16</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/RT-N16-3.0.6.5214.trx">RT-N16-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gp</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WL500gp-3.0.6.5214.trx">WL500gp-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gpv2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WL500gpv2-3.0.6.5214.trx">WL500gpv2-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500W</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WL500W-3.0.6.5214.trx">WL500W-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-700gE</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WL700g-3.0.6.5214.trx">WL700g-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WNR3500L-3.0.6.5214.trx">WNR3500L-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/WNR3500LV2-3.0.6.5214.trx">WNR3500LV2-3.0.6.5214.trx</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия WL, DIR-320)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/modules-3.0.6.5214-MIPS32r1.tar.bz2">modules-3.0.6.5214-MIPS32r1.tar.bz2</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия RT-N, DIR-620, WNR3500L)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/modules-3.0.6.5214-MIPS32r2.tar.bz2">modules-3.0.6.5214-MIPS32r2.tar.bz2</a></td>
			</tr>
			<tr>
				<td>исходный код</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5214/mod-rtn-r5214.tar.bz2">mod-rtn-r5214.tar.bz2</a></td>
			</tr>
		</tbody>
	</table>
	</li>
	<li>3.0.6.5218 от 31.07.2014<br />
	Небольшое обновление версии от 2013 г. Улучшение поддержки 4G модемов. Частичная поддержка D-Link DIR-620 rev. C1 v2.<br />
	&#160;
	<table border="1" cellpadding="1" cellspacing="1" style="width:100%">
		<tbody>
			<tr>
				<td>D-Link DIR-320 rev. A1, A2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/DIR320-3.0.6.5218.trx">DIR320-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>D-Link DIR-620 rev. C1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/DIR620C1-3.0.6.5218.trx">DIR620C1-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N10-3.0.6.5218.trx">RT-N10-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N10U-3.0.6.5218.trx">RT-N10U-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N12-3.0.6.5218.trx">RT-N12-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. B1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N12B1-3.0.6.5218.trx">RT-N12B1-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N15U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N15U-3.0.6.5218.trx">RT-N15U-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N16</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/RT-N16-3.0.6.5218.trx">RT-N16-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gp</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WL500gp-3.0.6.5218.trx">WL500gp-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500gpv2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WL500gpv2-3.0.6.5218.trx">WL500gpv2-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-500W</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WL500W-3.0.6.5218.trx">WL500W-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>Asus WL-700gE</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WL700g-3.0.6.5218.trx">WL700g-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WNR3500L-3.0.6.5218.trx">WNR3500L-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/WNR3500LV2-3.0.6.5218.trx">WNR3500LV2-3.0.6.5218.trx</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия WL, DIR-320)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/modules-3.0.6.5218-MIPS32r1.tar.bz2">modules-3.0.6.5218-MIPS32r1.tar.bz2</a></td>
			</tr>
			<tr>
				<td>модули ядра (серия RT-N, DIR-620, WNR3500L)</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/modules-3.0.6.5218-MIPS32r2.tar.bz2">modules-3.0.6.5218-MIPS32r2.tar.bz2</a></td>
			</tr>
			<tr>
				<td><br />
				исходный код</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/5218/mod-rtn-r5218.tar.bz2">mod-rtn-r5218.tar.bz2</a></td>
			</tr>
		</tbody>
	</table>
	</li>
	<li>3.0.7.0001 от 02.01.2017<br />
	Обновление сборки 3.0.6.5218 с исправлением поддержки tunnelbroker.net в inadyn. Только для моделей серии RT-N и их аналогов, без исходных кодов, т.к. не удалось выполнить полную пересборку прошивки. Система сборки была поломана из-за переезда с googlecode на github, а также не работала с новыми версиями системных утилит (gcc, make).<br />
	&#160;
	<table border="1" cellpadding="1" cellspacing="1" style="width:100%">
		<tbody>
			<tr>
				<td>D-Link DIR-620 rev. C1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/DIR620C1-3.0.7.0001.trx">DIR620C1-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N10-3.0.7.0001.trx">RT-N10-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N10U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N10U-3.0.7.0001.trx">RT-N10U-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. A1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N12-3.0.7.0001.trx">RT-N12-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N12 rev. B1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N12B1-3.0.7.0001.trx">RT-N12B1-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N15U</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N15U-3.0.7.0001.trx">RT-N15U-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>Asus RT-N16</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/RT-N16-3.0.7.0001.trx">RT-N16-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v1</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/WNR3500L-3.0.7.0001.trx">WNR3500L-3.0.7.0001.trx</a></td>
			</tr>
			<tr>
				<td>NetGear WNR3500L v2</td>
				<td><a href="https://vampik.ru:443/files/wl500g/rtn/3.0.7.0001/WNR3500LV2-3.0.7.0001.trx">WNR3500LV2-3.0.7.0001.trx</a></td>
			</tr>
		</tbody>
	</table>
	</li>
</ul>

<p><strong>Примечания к поддерживаемым моделям:</strong></p>

<p><strong>D-Link DIR-320 rev. A1, A2.</strong> Прошивка -rtn урезанной версии из-за 4 МБ флеш-памяти. Удалена поддержка веб-камер, FTP-сервер, Samba, NFS, SNMP, tcpdump. Поддержка принтеров ограничена (отсутствует поддержка LPR). Поддержка USB-накопителей ограничена (отсутствует поддержка NTFS и утилиты для форматирования и проверки файловой системы). Доступна полная версия устаревшей прошивки ветки -d, но в ней нет поддержки новых модемов. Переход с оригинальной прошивки D-Link осуществляется через промежуточную прошивку <a href="https://vampik.ru:443/files/wl500g/misc/DIR320-wimax-1.2.6.bin">DIR320-wimax-1.2.6.bin</a>. Переход со старой прошивки от энтузиастов для WL500GPv2 осуществляется загрузкой прошивки по tftp в момент включения роутера. IP-адрес загрузчика: 192.168.0.1, на устройстве с которого производится прошивка необходимо установить адрес из подсети 192.168.0.0/24. После перехода на прошивку от энтузиастов обязателен сброс настроек.</p>

<p><strong>Asus WL-700gE.</strong> Поддерживается только в случае перепайки флеш-памяти с 2 МБ на 8 МБ.</p>

<p><strong>D-Link DIR-620 rev. C1.</strong> Нет поддержки второй версии этой ревизии, возможна неполная поддержка начиная со сборки 3.0.6.5218.</p>

<p><strong>NetGear WNR3500L v1.</strong><em><span style="color:#ff0000"> </span></em>Маркировка на корпусе: WNR3500U/WNR3500L. Требуется внимательно выбирать версию прошивки. Прошивки для v1 и v2 несовместимы между собой. Восстановление после загрузки неправильной версии прошивки возможно только при наличии USB-TTL конвертера.</p>

<p><strong>NetGear WNR3500L v2.</strong>&#160;Маркировка на корпусе: WNR3500L v2. Требуется внимательно выбирать версию прошивки. Прошивки для v1 и v2 несовместимы между собой. Восстановление после загрузки неправильной версии прошивки возможно только при наличии USB-TTL конвертера.&#160;Промежуточная версия для перехода с родной прошивки: <a href="https://vampik.ru:443/wl500g/misc/entware-wnr3500lv2.chk">entware-wnr3500lv2.chk</a></p>

<p>&#160;</p>
 ]]>
        </content>
        
    </entry>

</feed>