SSブログ

beagleboard を触ろう - FAT ファイルシステム [組み込みソフト]


beagleboard を SD ブートさせる場合、Boot ROM コードは x-loader (MLO) を読み出し、x-loader は u-boot (u-boot.bin) を読み出し、u-boot は Linux カーネル (uImage) を読み出し、という具合に進んでいきます。
Boot ROM コード、x-loader, u-boot それぞれは、FAT ファイルシステムからファイルを読み出す能力を持っています。

x-loader の場合、FAT12/FAT16/FAT32 からファイルを読み出すことができます。
しかし、書き込みコードは実装されていません。

angstrom ブートの回で作った(そしてその後も使い続けている)ブート SD は、FAT32 でフォーマットされています。
ここでは、FAT32 の読み出しについて見ていきます。

その前に、まず、ファイルシステムを格納する SD カードについて少々。
beagleboard では、SD カードに対しては、MMC/SD/SDIO ホストコントローラ (以下 MMC/SD コントローラ) 経由でアクセスします。
MMC/SD コントローラと SD カードは、clk, cmd, data 信号を用いてやり取りを行います。

sdc_overview.png

MMC/SD コントローラが cmd 信号上にコマンドを流し、SD カードはコマンドを受け、レスポンスを同じく cmd 信号上に返し、その後 data 信号上でデータを受け渡します。
コマンドには、ブロックリード、ブロックライト、消去等のコマンドが用意されています。
基本的に、SD カードに対しては、ブロック単位の操作しかできません。
ブロックの大きさは、CMD16 (SET BLOCKLEN) コマンドを発行することにより、変更可能です(通常は 512 バイト)。

書き込みを行う際は、NAND フラッシュのように、消去してからプログラムしなければいけないという制約はありません(多分)。
内部的には、消去→プログラムを行っているのかもしれませんが、MMC/SD コントローラからは、消去しないでいきなり書き込めるようなインターフェースになっています。

SD カードを使うためには、いろいろ初期設定をしなければいけないのですが、、、
手順をあまり理解しておらず、、、
OMAP35x TRM に書いてある初期化手順と、xloader の初期化コードは手順があまり一致しないし、、、

ということで、省略です!

初期設定が完了した後は、コマンドを発行するだけで簡単にアクセスすることができます。

x-loader では、ファイルを読み出す際に、CMD17 (READ SINGLE BLOCK) を発行して、1 ブロック(512 バイト)を読み出しています。

・・・

SD カードの先頭セクタ(先頭ブロック)は、MBR (Master Boot Record) と呼ばれる領域です。
MBR にはパーティションテーブルが置かれています。
パーティションテーブルは、4 つのパーティション情報から成っています。
パーティションテーブルを読むことにより、パーティション 1 は FAT32 で、パーティションの先頭セクタは 63、などということが分かります。

mbr_s.png

各テーブルは、以下のようなフォーマットになっています。

オフセット意味サイズ
0x00フラグ1
0x01パーティションの先頭セクタ (CHS)3
0x04パーティションの種類1
0x05パーティションの最後のセクタ (CHS)3
0x08パーティションの先頭セクタ (LBA)4
0x0cパーティションの全セクタ数4


セクタ 0 を実際に読み出してみると、以下のようになります。

セクタ 0 (MBR):
sec0_pt.png

オフセット 0x1be からがパーティション 1、オフセット 0x1ce からがパーティション 2 です。

これを解釈すると、

パーティション 1:
フラグブート可能
パーティションの種類FAT32
パーティションの先頭セクタ (LBA)63
パーティションの全セクタ数144522

パーティション 2:
フラグブート不可
パーティションの種類ext3
パーティションの先頭セクタ (LBA)144585
パーティションの全セクタ数3598560


となります。
パーティション 1 の先頭セクタ (LBA) は 63 となっていますが、この値は、パーティション 1 が FAT ファイルシステムならば、固定値なのかもしれません。
xloader の FAT コードでは、63 という数字がハードコードされていますので。


FAT パーティションの大まかな構造を見てみましょう。

fat_overview.png

File Allocation Table (FAT) という、物理デバイス内のブロック(クラスタ)の使用状況を表したテーブルがあり、その後にルートディレクトリ情報があり、その後にファイルデータが並ぶ、というような構成になっています。
FAT は、同じものが 2 つ連続して配置されています。

物理デバイスに保持されるファイルの最小単位は、クラスタと呼ばれます。
1 クラスタは、連続する数セクタ (1 セクタでもよい) から構成されます。
1 バイトのファイルをつくったとしても、実際に物理デバイス上に確保される領域は、1 クラスタ分になります。
1 クラスタが何セクタから構成されるかは、ファイルシステムの都合により決めることができます。

FAT は、クラスタの使用状況を表すテーブルであり、FAT32 ならば 1 エントリが 32 ビット長になっていて、次のような順でエントリが並んでいます。

クラスタ 0 の使用状況を表すエントリ
クラスタ 1 の使用状況を表すエントリ

最終クラスタの使用状況を表すエントリ


各エントリに書かれる値は、次のような意味になります。

0x0000_0000未使用クラスタ
0x0000_0001予約
0x0000_0002 - 0x0fff_fff6使用中のクラスタ(後続クラスタあり)
0x0fff_fff7不良クラスタ
0x0fff_fff8 - 0x0fff_ffff使用中のクラスタ(後続クラスタなし)


ファイルが 1 クラスタに収まらず、数クラスタに及ぶ場合、0x0000_0002 - 0x0fff_fff6 のエントリを使ってリンクを構成します。
ファイルの最終クラスタであることを示すのが、0x0fff_fff8 - 0x0fff_ffff のエントリです。

ファイルは、クラスタ番号によって管理されます。
ファイルシステムの中にはディレクトリエントリというデータ構造があって、基本的に 1 つのファイルに対して 1 つのディレクトリエントリが存在します。
ディレクトリエントリという名前からは、ディレクトリのみを表すものかと連想してしまいますが、ディレクトリ、ファイル、両方を記述するデータ構造です。

FAT ファイルシステムのディレクトリエントリは、以下のような構造体によって表されます。

typedef struct dir_entry {
  char	name[8],ext[3];  /* Name and extension */
  __u8	attr;            /* Attribute bits */
  __u8	lcase;           /* Case for base and extension */
  __u8	ctime_ms;        /* Creation time, milliseconds */
  __u16	ctime;           /* Creation time */
  __u16	cdate;           /* Creation date */
  __u16	adate;           /* Last access date */
  __u16	starthi;         /* High 16 bits of cluster in FAT32 */
  __u16	time,date,start; /* Time, date and first cluster */
  __u32	size;            /* File size in bytes */
} dir_entry;


ディレクトリエントリには、ファイル名とともに、先頭クラスタ番号が記述されています。
(上の構造体では __u16 starthi & __u16 start)
つまり、ファイル名を元に該当するディレクトリエントリを探し出せば、ファイルの位置が分かるという寸法になっています。
しかし、ディレクトリエントリには、ファイルが複数セクタから成る場合、次のクラスタはどこか、という情報が書かれていません。
その情報は、FAT に書かれています。

例えば、ファイルの先頭クラスタがクラスタ 4 であったとします。
クラスタ 4 には、ファイル先頭から 1 クラスタ分のファイルコンテンツが含まれています。
その続きがどこにあるかは、FAT エントリ 4 を見れば分かります。
FAT エントリ 4 に書かれている値が、0x0000_0007 だとすると、ファイルの続きはクラスタ 7 に含まれているということになります。
ファイルは、クラスタ 4 とクラスタ 7 に収まるとしましょう。
そうすると、クラスタ 7 には、0x0fff_fff8 - 0x0fff_ffff のいずれかが書かれているということになります。

fat_link.png

パス名からファイルを取得する手順は、以下のようになります。
例として、/beagle/board/hoge というファイルを探す手順を見てみます。

1. ルートディレクトリから、beagle という名前に合致するディレクトリエントリを探す
    → 見つかったディレクトリエントリの attribute は、ディレクトリを表す 0x10 になっている
2. そのディレクトリエントリから、クラスタ番号 xx を取得する
    → クラスタ xx は、/beagle ディレクトリに存在するディレクトリおよびファイルを表すディレクトリエントリを保持している
3. クラスタ xx を読み出して、board という名前に合致するディレクトリエントリを探す
    → 見つかったディレクトリエントリの attribute は、ディレクトリを表す 0x10 になっている
4. そのディレクトリエントリから、クラスタ番号 yy を取得する
    → クラスタ yy は、/board/board ディレクトリに存在するディレクトリおよびファイルを表すディレクトリエントリを保持している
5. クラスタ yy を読み出して、hoge という名前に合致するディレクトリエントリを探す
    → 見つかったディレクトリエントリの attribute は、ファイルを表す 0x20 になっている
6. そのディレクトリエントリから、クラスタ番号 zz を取得する
    → hoge ファイルの先頭クラスタは zz
7. クラスタ zz を読み出してファイルコンテンツを取得する
8. 続きがある場合は、FAT エントリ zz を見て、次のクラスタ番号を取得する
9. 以下、同じ

ちょっと省略してしまいましたが、1, 3, 5 でディレクトリエントリを走査して探すとき、先頭クラスタ内からは見つからない場合は、次のクラスタを読み出す必要があります。
その場合も、FAT エントリを見て後続のクラスタを探す手順は、8. と同じです。

ファイルを書き込む場合は、/beagle/board/foo というファイルを書き込むとすると、

1. 上記 1 - 4 と同じ手順で /beagle/board ディレクトリのクラスタ番号 yy を取得する
2. クラスタ yy を読み出して、空きディレクトリエントリを探し、確保する
3. FAT を走査して、空きクラスタから、必要な分だけクラスタを確保する (FAT エントリの変更)
4. 確保したディレクトリエントリに foo という名前や、ファイル先頭クラスタ番号を含め、設定を行う
5. 変更した FAT エントリを、対応する物理セクタに書き込む
6. 変更したディレクトリエントリを、対応する物理セクタに書き込む
7. ファイルコンテンツを、確保したクラスタに対応する物理セクタに書き込む

のような手順を踏めば OK です。
(・・・のハズです。試してないですケド。)


SD カードの場合、CMD24 (WRITE SINGLE BLOCK) や CMD25 (WRITE MULTIPLE BLOCK) を発行することにより、書き込みを行うことができます。


・・・


それでは、実際の FAT パーティションを見てみましょう。

FAT パーティションの先頭セクタ (セクタ 63) は、BPB (BIOS Parameter Blobk) と呼ばれる領域で、パーティション内の構造が記述されています。
FAT32 の場合、以下のようなフォーマットです。

オフセット意味サイズ
0x00ブートストラップコード3
0x03ラベル名8
0x0b1 セクタあたりのバイト数2
0x0d1 クラスタあたりのセクタ数1
0x0e予約セクタ数 (メイン FAT の開始セクタ番号)2
0x10FAT の数1
0x11ルートディレクトリエントリ数 (FAT32 では 0)2
0x13全セクタ数 (FAT32 では 0)2
0x15メディアコード1
0x16FAT のセクタ数2
0x181 トラックあたりのセクタ数2
0x1aドライブのヘッド数2
0x1c不可視セクタ数4
0x20全セクタ数4
0x24FAT 1 つあたりのセクタ数4
0x28フラグ2
0x2aファイルシステムバージョン2
0x2cルートディレクトリの開始クラスタ番号4
0x30ファイルシステム情報のセクタ番号 2
0x32バックアップセクタ番号2
0x34予約12
0x40物理ドライブ番号1
0x41予約1
0x42ブートシグネチャ1
0x43ボリュームシリアル ID4
0x47ボリュームラベル11
0x52ファイルシステムタイプ8


セクタ 63 を読みだしてみると、以下のようになります:

セクタ 63 (FAT BPB):
sec63_bpb.png

これを解釈すると、

ブートストラップコードx86 の jmp 命令
ラベル名mkdosfs
1 セクタあたりのバイト数512
1 クラスタあたりのセクタ数1
予約セクタ数 (メイン FAT の開始セクタ番号)32
FAT の数2
ルートディレクトリエントリ数 (FAT32 では 0)0
全セクタ数 (FAT32 では 0)0
メディアコード固定ディスク
FAT のセクタ数 (FAT32 では 0)0
1 トラックあたりのセクタ数63
ドライブのヘッド数255
不可視セクタ数0
全セクタ数144522
FAT 1 つあたりのセクタ数1112
フラグ0
ファイルシステムバージョン0
ルートディレクトリの開始クラスタ番号2
ファイルシステム情報のセクタ番号1
バックアップセクタ番号6
予約0
物理ドライブ番号0
予約0
ブートシグネチャ0x29
ボリュームシリアル ID0xa107_48b6
ボリュームラベルBegl_Boot
ファイルシステムタイプFAT32


となります。

1 クラスタあたりのセクタ数 = 1 なので、1 クラスタ = 1 セクタですね。
1 セクタあたりのバイト数 = 512 なので、1 クラスタも 512 バイトになります。

予約セクタ数 = 32 は、FAT パーティションにおける FAT のオフセットを表します。
FAT パーティションは物理セクタ 63 から始まるので、FAT の先頭は物理セクタ 63 + 32 = 95 ということになります。
そこから FAT が 1112 セクタ x 2 個続き、その後にルートディレクトリが配置されます。
というわけで、ルートディレクトリの先頭セクタは、95 + 1112 x 2 = 2319 となります。

ルートディレクトリの開始クラスタ番号は 2 になっていますね。
これは、ルートディレクトリが格納されている、物理セクタ 2319 から始まるクラスタを、クラスタ番号 2 として番号付けしなさい、という意味です。
今、クラスタサイズとセクタサイズは等しいので、物理セクタ 2319 がクラスタ 2、物理セクタ 2320 がクラスタ 3, 物理セクタ 2317 + n がクラスタ n になります。

ルートディレクトリを見てみましょう。
物理セクタ 2319 です。

セクタ 2319 (ルートディレクトリ):
sec2319_rootdir.png

ディレクトリエントリのフォーマットは、先ほどにも出しましたが、↓のようになっています。

typedef struct dir_entry {
  char	name[8],ext[3];  /* Name and extension */
  __u8	attr;            /* Attribute bits */
  __u8	lcase;           /* Case for base and extension */
  __u8	ctime_ms;        /* Creation time, milliseconds */
  __u16	ctime;           /* Creation time */
  __u16	cdate;           /* Creation date */
  __u16	adate;           /* Last access date */
  __u16	starthi;         /* High 16 bits of cluster in FAT32 */
  __u16	time,date,start; /* Time, date and first cluster */
  __u32	size;            /* File size in bytes */
} dir_entry;


1 エントリの大きさは 32 バイトなので、上のダンプの 2 行分が 1 エントリになっています。
ルートディレクトリの中から、MLO ファイルを探してみましょう。
M (0x4d) L (0x4c), O (0x4f) という名前を探すと、オフセット 0x1a0 のエントリが合致します。

ファイル名MLO
拡張子なし
attribute0x20
作成日時2011/10/19 1:55:41
アクセス日時2011/11/25
更新日時2011/11/25 23:04:46
先頭クラスタ番号6323
ファイルサイズ36264


となります。
ファイルサイズ は 36264 バイトであり、1 クラスタは 512 バイトなので、クラスタ 71 個分に MLO 本体は格納されていることになります。

ファイル先頭クラスタ番号 = 6323 ですが、これは FAT パーティション内のオフセットであり、物理セクタ何番かというと、

・ルートディレクトリのクラスタ番号は 2
・ルートディレクトリの物理セクタは 2319
・クラスタ番号 n は物理セクタ 2317 + n

ということを思い出すと、8640 ということが分かります。

ということで、セクタ 8640 の先頭部分を見てみると、

セクタ 8640 (MLO 先頭):
sec8640_MLO.png

MLO のファイル先頭は、4 バイト長のファイルサイズと 4 バイト長のロードアドレスなのでした。
x-loader ビルドの回)

ファイルサイズ 0x0000_8da0 = 36256
ロードアドレス 0x4020_0800

MLO のサイズは 36264 バイトですが、MLO の先頭に書かれているファイルサイズはヘッダー部分 8 バイトの大きさを差し引いた値なので、合っています。
ロードアドレスは、x-loader がロードされるアドレスであり、0x4020_0800 は正しい値です。

その後は、0xea00_0012 (= b 0x58), 0xe59f_f014 (= ldr pc,[pc, #20]) と、マシン語命令が続いていきます。

クラスタ 6323 に続くクラスタを探してみましょう。

クラスタ 6323 に対応する FAT エントリは、

・FAT の先頭クラスタは物理セクタ 95
・1 クラスタあたりの FAT エントリ数は 128

であることを考慮すると、物理セクタ 144 の、51 番目 (0 ベース) のエントリー (オフセット 204 = 0xcc) であることが分かります。


セクタ 144 (FAT):
sec144_fat.png

オフセット 0x0c0 の行にある、一番右端の 0x0000_18b4 が、クラスタ 6323 に対応するエントリーですね。
0x0000_18b4 = 6324 です。
あれ、6323 の次ということですね。
6324 のエントリーを見てみると、0x0000_18b5 = 6325 であり、これまた次を指すエントリーです。
よく見てみると、この後ずーっと次を指すエントリーが続いています。

最後は、オフセット 0x1e4 の 0xffff_ffff です。
0xffff_ffff は、もう続きがないということを表すエントリーでした。
つまり、ファイル終端です。

オフセット 0xcc - 0x1e4 までの連続しているエントリーが、MLO のためのエントリーです。
クラスタ 6323 から 6393 までが、連続して MLO に占められているということになります。
物理セクタで言えば、8640 から 8710 までです。

FAT エントリー数(= クラスタ数 = セクタ数)を数えてみると、71 個です。
先ほど、ファイルサイズから、MLO は 71 個のクラスタに収められていると言いましたが、それと合致していますね。

これで、MLO の格納場所がすべて分かりました。
後は、SD カードに対して CMD17 (READ SINGLE BLOCK) を発行すれば、ファイルコンテンツを取得することができます。

・・・

今回は FAT32 について見てきましたが、基本的な構造は FAT12/FAT16 も同じです。
ただ、BPB を解釈する方法とか、FAT32 とちょっとだけ違いますが。

xloader の FAT コードは、今まで見てきたデータ構造を同じようにたどって、u-boot.bin を読み出します。
今回、思わず MLO を追ってしまいましたが、u-boot.bin を追った方が気分的に良かった気がしてきました。
まあ、気分の問題ですし、結果も同じようなものになるはずなので、どうでもいいのですけど (^^;
nice!(0)  コメント(3)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 3

Marinalhh

Приветствую Вас господа[url=https://2612.by/]![/url]
[url=https://2612.by/][img]https://i116.fastpic.org/big/2021/1219/21/58842228f6ccf3c1f8c35b18a1109a21.jpg[/img][/url]
Каждому принтеру или многофункциональному устройству обязательно необходимо регулярное качественное обслуживание. Только в таком случае техника прослужит максимально долго и не подведет вас в самые ответственные моменты. Если требуется заправка картриджей или же ремонт всего принтера, тогда смело обращайтесь в нашу компанию в Минске.У нас работают высококлассные мастера, которые возьмутся за любую работу и выполнят ее быстро, а главное качественно. Многие в целях экономии пытаются самостоятельно перезаправить картридж или предпринять какие-то меры, чтобы устранить неполадки с принтером, но чаще всего это заканчивается какой-то более серьезной и очень дорогостоящей поломкой. У нас цены вполне приемлемы и абсолютно оправданы.Заправка картриджа у нас в Минске подразумевает еще и множество дополнительных и очень полезных действий, которые продлят срок службы вашего принтера. Кроме того, что его наполнят необходимым тонером, он пройдет полную очистку от остатков старой краски на нем, обработку специальными средствами и смазку всех шестерен.В качестве тонера или чернила используется одно из пяти средств, в зависимости от типа принтера, а соответственно, и картриджей.Наиболее популярными являются фоточернила или «водорастворимые чернила»;Пигментные чернила, из названия которых понятно, что их основой являются твердые пигменты;Сублимационные применяются для обеспечения стойкого изображения в соответствующем типе принтеров;Ультрахромные используются для максимальной передачи цвета;Экосольвентные чернила незаменимы для печати наружной рекламы.В нашем офисе в Минске вам обязательно посоветуют, какие чернила лучше всего подходят для вашего принтера, и, исходя уже из их рекомендаций, вы сами сможете принять решение.Если одной лишь заправки будет недостаточно, и выяснится, что необходим ремонт или замена каких-либо элементов принтера, то мы постараемся вернуть вашу технику в строй как можно быстрее. У нас в наличии всегда имеется множество деталей на наиболее популярные модели, но если их не окажется, то мы позаботимся, чтобы поскорее найти то, что нужно. Мы сотрудничаем с надежными компаниями, занимающимися поставками различных запчастей для техники всех видов, в том числе и печатной.Для ремонта принимаются литерные, матричные, струйные, лазерные, термопринтеры, твердочернильные, сублимационные принтеры и другие. Сам процесс выполняется с использованием новейших технологий, поэтому исключает на ближайшее время даже при очень активной эксплуатации повторную поломку.Мы понимаем, насколько важно для вас всегда иметь возможность распечатать любой файл или документ. Работа или учеба не может долго ждать, а распечатка в специализированных офисах может вылиться вам в крупную сумму. Что бы ни случилось с вашей печатной техникой, вы всегда можете на нас положиться. Мы ценим выбор наших клиентов и хотим, чтобы они остались довольны выполненной нами работой.
Наша контора занимается свыше 10 лет ремонтом и обслуживанием оргтехники в городе Минске.Основные направления и виды нашей деятельности:
1)[url=https://2612.by/]заправка картриджей минск[/url]
2)[url=https://2612.by/]hp заправка картриджей[/url]
3)[url=https://2612.by/]заправка картриджа canon[/url]
4)[url=https://2612.by/]brother принтер картридж[/url]
5)[url=https://2612.by/]заправка xerox phaser[/url]
6)[url=https://2612.by/]ремонт принтеров минск[/url]
Мы будем рады Вас видеть у нас на вебресурсе [url=https://2612.by/]НАЖМИТЕ ССЫЛКУ[/url]
Всегда рады помочь Вам!С уважением,КОПИМЕДИАГРУПП
[url=https://2612.by/]картридж 047 заправка[/url]
[url=https://2612.by/]расходники pantum купить минск[/url]
[url=https://2612.by/]купить чип на картридж hp[/url]
[url=https://2612.by/]ролик подачи hp[/url]
[url=https://2612.by/]тонер для принтера samsung scx[/url]
[url=https://2612.by/]kyocera прокачка тонера[/url]
[url=https://2612.by/catalog/xerox]xerox phaser 3117 картридж заправка[/url]
[url=https://2612.by/]чип hp 178[/url]
[url=https://2612.by/]brother 2035 тонер[/url]
[url=https://2612.by/]чип canon 057[/url]
[url=https://2612.by/catalog/ricoh]заправка картриджей ricoh в минске[/url]
[url=https://2612.by/]контейнер для сбора тонера samsung[/url]
[url=https://2612.by/]купить фотобарабаны samsung[/url]
[url=https://2612.by/]samsung scx прошивка чипа[/url]
[url=https://2612.by/]brother tn 2335 тонер[/url]
[url=https://2612.by/]тонер canon lbp7018c[/url]
[url=https://2612.by/]какой тонер подходит для картриджей canon[/url]
[url=https://2612.by/]samsung 3200 несовместимый картридж с тонером[/url]
[url=https://2612.by/]xerox phaser 3140 чип[/url]
[url=https://2612.by/]kyocera пишет неоригинальный картридж с тонером[/url]
[url=https://2612.by/]тонер samsung scx 3405[/url]
[url=https://2612.by/]xerox b205 картридж заправка[/url]
[url=https://2612.by/]тонер imex kyocera[/url]
[url=https://2612.by/]заправка картриджей brother 2375[/url]
[url=https://2612.by/]сброс тонера brother 1510r[/url]
[url=https://2612.by/]заправка картриджей hp laserjet в минске[/url]
[url=https://2612.by/]тонер ricoh 220[/url]
[url=https://2612.by/catalog/pantum]принтер pantum p2500w заправка картриджа[/url]
[url=https://2612.by/]brother tn 1075 какой тонер[/url]
[url=https://2612.by/catalog/hp-laserjet]заправка картриджей hp color laserjet[/url]
[url=https://2612.by/]фотобарабан ricoh[/url]
[url=https://2612.by/]тонер brother 2500[/url]
[url=https://2612.by/]ролик подачи бумаги hp купить минск[/url]
[url=https://2612.by/]чип samsung scx 4200 купить[/url]
[url=https://2612.by/]цветные картриджи hp цены[/url]
[url=https://2612.by/]сброс счетчика тонера brother dcp 1510r[/url]
[url=https://2612.by/]тонер brother 1510r[/url]
[url=https://2612.by/]brother 7057r тонер[/url]
[url=https://2612.by/]тонер samsung купить минск[/url]
[url=https://2612.by/]картридж для принтера kyocera ecosys m2235dn[/url]
[url=https://2612.by/]как закачать тонер в xerox c118[/url]
[url=https://2612.by/]тонер для принтера samsung scx 4100[/url]
[url=https://2612.by/]eos m42 чип х pro для canon[/url]
[url=https://2612.by/]kyocera сброс картриджа[/url]
[url=https://2612.by/]xerox 3010 3040 тонер[/url]
[url=https://2612.by/]sharp ar 5618 чип[/url]
[url=https://2612.by/]тонер картриж xerox купить минск[/url]
[url=https://2612.by/]brother 7057r замените тонер[/url]
[url=https://2612.by/]kyocera taskalfa 1801 тонер[/url]
[url=https://2612.by/]совместимость тонер xerox[/url]

by Marinalhh (2022-01-13 12:09) 

Marinavgg

Здравствуйте господа[url=https://2612.by/]![/url]
[url=https://2612.by/][img]https://i116.fastpic.org/big/2021/1219/21/58842228f6ccf3c1f8c35b18a1109a21.jpg[/img][/url]
Наша компания занимается не только восстановлением и заправкой цветных и черно-белых (монохромных) картриджей, но и осуществляет диагностику и ремонт оргтехники.Работаем с лазерными принтерами, восстановим функциональность техники Epson, HP, Canon, Samsung, Ricoh, Brother, Panasonic, Xerox, Kyocera Mita и других производителей.Мы проводим целый комплекс работ:тщательная очистка устройства;обнуление или замена чипа (при необходимости);тестирование деталей на степень износа;заправка принтера;тестирование работы устройства после проведения работ.Используем расходные материалы, абсолютно идентичные с оригинальными по своим физическим и химическим характеристикам: тонером для картриджей Static Control (Санфорд, NC, Северная Каролина, США) и чернилами Ink-Mate (South Korea).Преимущества нашей компании. В чем выгода для Вас:Учитывая, что в нашем распоряжении собственная мастерская, где работают опытные сотрудники, каждый наш клиент гарантировано получает:Качественное выполнение работ (опыт более 11 лет).Оперативное реагирование.Доступную стоимость работ.Индивидуальный подход к клиенту.Благодаря тому, что заправка картриджей осуществляется исключительно нами, не привлекая сторонние организации, конечная стоимость услуг не будет увеличена из-за посредничества.Сотрудничаем с первыми импортёрами расходных материалов для оргтехники в РБ, поэтому готовы предложить Вам лучшие цены на все виды услуг.Все ремонтные работы мы проводим с применением специализированного оборудования. Благодаря тому, что сотрудничаем с проверенными компаниями-поставщиками комплектующих оргтехники, у нас всегда в наличие большинство деталей к моделям принтеров и МФУ ведущих мировых производителей. Работы, выполненные нашей компанией – гарант безукоризненной работы Вашей техники!
Наша компания занимается свыше 10 лет ремонтом и обслуживанием оргтехники в городе Минске.Основные направления и виды нашей деятельности:
1)[url=https://2612.by/]заправка картриджей минск[/url]
2)[url=https://2612.by/]hp заправка картриджей[/url]
3)[url=https://2612.by/]заправка картриджа canon[/url]
4)[url=https://2612.by/]brother принтер картридж[/url]
5)[url=https://2612.by/]заправка xerox phaser[/url]
6)[url=https://2612.by/]ремонт принтеров минск[/url]
Мы будем рады Вас видеть у нас на сайте [url=https://2612.by/]НАЖМИТЕ ССЫЛКУ[/url]
Всегда рады помочь Вам!С уважением,КОПИМЕДИАГРУПП
[url=https://2612.by/catalog/canon]картридж canon 047 заправка[/url]
[url=https://2612.by/]xerox phaser 3010 чип обнулить[/url]
[url=https://2612.by/]xerox 106r02773 чип[/url]
[url=https://2612.by/]м2235dn kyocera картридж[/url]
[url=https://2612.by/]kyocera ecosys m2235 картридж[/url]
[url=https://2612.by/]hp laserjet 1020 термопленка[/url]
[url=https://2612.by/]тонер xerox 5019[/url]
[url=https://2612.by/]тонер для заправки картриджей kyocera[/url]
[url=https://2612.by/]kyocera 3655 картридж[/url]
[url=https://2612.by/]тонер картридж xerox b215[/url]
[url=https://2612.by/]тонер brother 7057[/url]
[url=https://2612.by/]картридж тонер xerox workcentre 3045[/url]
[url=https://2612.by/]принтер brother пишет замените тонер[/url]
[url=https://2612.by/]kyocera m3040 картридж[/url]
[url=https://2612.by/]ricoh sp 150su чип[/url]
[url=https://2612.by/]kyocera m2540dn неоригинальный картридж[/url]
[url=https://2612.by/]hp 1018 замена термопленки[/url]
[url=https://2612.by/]сколько стоит заправка картриджа canon[/url]
[url=https://2612.by/]kyocera ecosys m2235dn картридж купить[/url]
[url=https://2612.by/]brother 1510 замените тонер[/url]
[url=https://2612.by/catalog/xerox]xerox 6015 картридж заправка[/url]
[url=https://2612.by/]замена тонера samsung[/url]
[url=https://2612.by/catalog/hp-laserjet]заправка лазерного картриджа hp laserjet[/url]
[url=https://2612.by/]тонер для brother dcp 1512r[/url]
[url=https://2612.by/]чип hp cf259x[/url]
[url=https://2612.by/catalog/canon]сброс после заправки картриджа canon[/url]
[url=https://2612.by/]brother 2040 тонер[/url]
[url=https://2612.by/]как прошить чип картриджа hp[/url]
[url=https://2612.by/]картридж kyocera tk 3170[/url]
[url=https://2612.by/]hp t520 чипы[/url]
[url=https://2612.by/]сколько тонера сыпать в картридж samsung[/url]
[url=https://2612.by/]kyocera пишет закончился тонер[/url]
[url=https://2612.by/]hp 5100 термопленка[/url]
[url=https://2612.by/]sharp 5316 картридж[/url]
[url=https://2612.by/]kyocera tk 5230k тонер[/url]
[url=https://2612.by/]таблица совместимости тонеров samsung[/url]
[url=https://2612.by/]тк 1170 заправка[/url]
[url=https://2612.by/]kyocera p5021cdn картриджи[/url]
[url=https://2612.by/]шестерня муфта samsung[/url]
[url=https://2612.by/]горит тонер brother hl 2132r[/url]
[url=https://2612.by/]картриджи оригинальные черные hp[/url]
[url=https://2612.by/]kyocera fs 1040 картридж[/url]
[url=https://2612.by/]принтер pantum заправка картриджа[/url]
[url=https://2612.by/]чип ricoh sp 150 ricoh sp 150su[/url]
[url=https://2612.by/]барабан hp купить минск[/url]
[url=https://2612.by/]kyocera m2640 картридж[/url]
[url=https://2612.by/]фотобарабан samsung mlt[/url]
[url=https://2612.by/]kyocera m2235dn картридж совместимый[/url]
[url=https://2612.by/]тонер canon 3228[/url]
[url=https://2612.by/]xerox m118 тонер[/url]

by Marinavgg (2022-01-13 16:51) 

Marinakal

Приветствую Вас друзья[url=https://2612.by/]![/url]
[url=https://2612.by/][img]https://i116.fastpic.org/big/2021/1219/21/58842228f6ccf3c1f8c35b18a1109a21.jpg[/img][/url]
Помимо ремонта принтеров мы предлагаем Вам профессиональную заправку картриджей.Наша компания предлагает такую услугу как ремонт, заправка, прошивка, и сервисное обслуживание принтеров и другой оргтехники в офисах и на дому всех популярных моделей Canon, Xerox, Samsung, HP laserjet, Kyocera, Ricoh, Brother, PANTUM.Заправка черно-белых картриджей, заправка цветных картриджей, восстановление, бесплатная диагностика, замена фотобарабана, бесплатный выезда мастера на дом.Домашний принтер отказывается печатать? Работа встала из-за поломки офисного МФУ? Не устраивает качество печати или постоянно застревающая бумага? Наши специалисты помогут быстро и эффективно настроить работу вашей техники.Мы предлагаем профессиональный ремонт принтеров в Минске. Наши опытные специалисты осуществляют обслуживание любых моделей всех известных производителей. Не первый год предоставляя услуги жителям столицы, мы гарантируем квалифицированную помощь и использование качественных комплектующих.ремонт принтеров.ПРИНТЕРНАЯ ПОМОЩЬ С ВЫЕЗДОМ НА ДОМ.Сотрудники нашей компании обладают многолетним опытом ремонта принтерного оборудования и высоким уровнем профессионализма. Кроме того, нашим клиентам доступна такая услуга, как выезд специалиста на дом или в офис.Опытный профессионал произведет обязательную диагностику принтера непосредственно на дому или в офисе вашей компании, при необходимости выполнит замену подвижных частей, настроит работу оборудования. Если же техника потребует более сложного вмешательства, мы самостоятельно заберем МФУ или принтер для последующего ремонта, а затем вернем его по истечении указанного срока.Мы осуществляем ремонт принтеров с использованием оригинальных и соответствующих техническим требованиям деталей. Наши специалисты имеют опыт работы с оборудованием различных марок, знают о типичных неисправностях конкретных моделей и способах устранения неполадок. Мы ценим свою репутацию, поэтому заботимся о качестве и долговечности используемых комплектующих.Звоните, и мы поможем вам вернуть принтерную технику в рабочее состояние. Не стоит отказывать себе в возможности быстро и эффективно восстановить работоспособность оборудования и продолжить продуктивную и плодотворную работу. Мы выезжаем на адрес клиента. Вы не успеете нам позвонить, как мы уже будет в пути.
Наша фирма занимается свыше 10 лет ремонтом и обслуживанием оргтехники в городе Минске.Основные направления и виды нашей деятельности:
1)[url=https://2612.by/]заправка картриджей минск[/url]
2)[url=https://2612.by/]hp заправка картриджей[/url]
3)[url=https://2612.by/]заправка картриджа canon[/url]
4)[url=https://2612.by/]brother принтер картридж[/url]
5)[url=https://2612.by/]заправка xerox phaser[/url]
6)[url=https://2612.by/]ремонт принтеров минск[/url]
Нам будет приятно видеть у нас на сайте [url=https://2612.by/]НАЖМИТЕ ССЫЛКУ[/url]
Всегда рады помочь Вам!С уважением,КОПИМЕДИАГРУПП
[url=https://2612.by/]hp 104a фотобарабан[/url]
[url=https://2612.by/]сброс заправки картриджа canon[/url]
[url=https://2612.by/catalog/xerox]заправка картриджей для принтера xerox[/url]
[url=https://2612.by/]картриджи черные sharp[/url]
[url=https://2612.by/]kyocera m2640idw картридж[/url]
[url=https://2612.by/]kyocera 2040 тонер[/url]
[url=https://2612.by/]brother 7057r замените тонер[/url]
[url=https://2612.by/]принтер kyocera как вставить картридж[/url]
[url=https://2612.by/]2070 samsung картридж тонер[/url]
[url=https://2612.by/]brother hl l2300dr тонер[/url]
[url=https://2612.by/]замена термопленки hp 2035[/url]
[url=https://2612.by/]samsung d104s тонер[/url]
[url=https://2612.by/]тонер integral kyocera[/url]
[url=https://2612.by/]картридж к лазерному принтеру brother купить[/url]
[url=https://2612.by/]kyocera 180 тонер[/url]
[url=https://2612.by/catalog/xerox]xerox workcentre 3025bi заправка картриджа[/url]
[url=https://2612.by/]kyocera fs 1020mfp фотобарабан[/url]
[url=https://2612.by/]kyocera m2635 картридж[/url]
[url=https://2612.by/]kyocera расходники[/url]
[url=https://2612.by/catalog/ricoh]ricoh sp 150 картридж заправка[/url]
[url=https://2612.by/]kyocera mita km 1635 картридж[/url]
[url=https://2612.by/]картридж kyocera tk 5230c[/url]
[url=https://2612.by/]kyocera 1800 тонер[/url]
[url=https://2612.by/]термопленка hp купить минск[/url]
[url=https://2612.by/]hp m1522 термопленка[/url]
[url=https://2612.by/]термопленка hp p1505[/url]
[url=https://2612.by/]ошибка цветного картриджа hp[/url]
[url=https://2612.by/]сброс неоригинального картриджа kyocera[/url]
[url=https://2612.by/]samsung scx 4300 нет тонера[/url]
[url=https://2612.by/]тонер картридж brother tn 2375[/url]
[url=https://2612.by/]kyocera 2235 фотобарабан[/url]
[url=https://2612.by/]тонер картридж kyocera tk 1200[/url]
[url=https://2612.by/]термопленка hp p2015[/url]
[url=https://2612.by/]расходники pantum[/url]
[url=https://2612.by/]xerox 106r02773 чип[/url]
[url=https://2612.by/]цветной лазерный картридж hp[/url]
[url=https://2612.by/]kyocera 2021 картридж[/url]
[url=https://2612.by/]ricoh sp 150 su чип[/url]
[url=https://2612.by/]kyocera очистка бункера отработанного тонера[/url]
[url=https://2612.by/]картридж для лазерного принтера canon[/url]
[url=https://2612.by/]картридж не оригинал kyocera[/url]
[url=https://2612.by/]ролик подачи бумаги hp[/url]
[url=https://2612.by/]картридж для струйного принтера hp черный[/url]
[url=https://2612.by/]картриджи для цветного лазерного принтера hp[/url]
[url=https://2612.by/]черный тонер hp[/url]
[url=https://2612.by/]сброс тонера на принтере brother[/url]
[url=https://2612.by/]чип принтера hp[/url]
[url=https://2612.by/]тонер картридж samsung scx 4200[/url]
[url=https://2612.by/]заправка картриджей brother стоимость[/url]
[url=https://2612.by/]чип hp m404[/url]

by Marinakal (2022-01-14 02:11) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。