domingo, 31 de julho de 2016

Problema com o Wifi no Linux Ubuntu, Debian e derivados

Após uma atualização de kernel no meu Ubuntu 16.04, a rede wireless parou de funcionar. O adaptador wi-fi simplesmente sumiu e não era listado com lspci, ou lsusb.
Depois de quebrar bastante a cabeça com soluções "mirabolantes", acabei resolvendo da forma mais simples possível.
Refiz a configuração do arquivo /etc/network/interfaces, incluindo os dados da rede sem fio.
Seguem os passos:

1) Abra um terminal e digite sudo gedit /etc/network/interfaces
2) Mantenha as linhas referentes à rede cabeada e abaixo delas, adicione:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid SSID
wpa-psk SENHA

3) O arquivo deverá ficar parecido com isso:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback 
auto eth0
iface eth0 inet dhcp 
auto wlan0
iface wlan0 inet dhcp
wpa-ssid SSID
wpa-psk SENHA
4) Salve o arquivo e reinicie a rede com sudo /etc/init.d/network-manager restart

Obs: Não se esqueça de substituir SSID e SENHA pelo nome e senha da sua rede, respectivamente.

terça-feira, 21 de junho de 2016

Google Chrome não abre - Resolvendo o erro 0xc0000018

Há alguns dias me deparei com um erro estranho.
Ao tentar iniciar o Google Chrome no Windows 10, 64 bits, acusava o erro "O aplicativo não pôde ser inicializado corretamente (0xc0000018).



Tentei diversos procedimentos, como deletar o valor AppInit_DLLs das chaves:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\­Microsoft\WindowsNT\CurrentVersion\Windows
e
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
Mas no meu caso, não funcionou. O que realmente resolveu foi remover o aplicativo de segurança do banco, chamado "warsaw".
Para isso, basta acessar o "Painel de Controle" e a opção "Adicionar e Remover Programas", localizar o aplicativo com o nome "warsaw" e desinstalá-lo. Não é necessário nem reiniciar o micro.
Esse erro pode ocorrer em outros aplicativos, como o Microsoft Edge, Ccleaner, etc.
Vale lembrar que caso você precise acessar o site de algum banco, será necessário instalar o plugin novamente.

segunda-feira, 20 de junho de 2016

Netflix no celular Android apresentando Erro -14 - Não foi possível conectar ao serviço

Caso seu aplicativo da Netflix no celular esteja apresentando o erro -14 - Não foi possível conectar ao serviço, você pode tentar uma das duas soluções abaixo. Se nenhuma resolver, pode ser um problema relacionado à sua conta ou à conexão de internet em uso no momento.

Solução 1 - Sair e logar novamente:
  1. No aplicativo Netflix, toque no botão Menu, no canto superior esquerdo, ou no botão Mais, no canto inferior direito.
  2. Desça a tela e selecione Sair (Sign Out).
  3. Confirme se deseja realmente sair.
  4. Depois de encerrar sessão, acesse novamente sua conta e tente assistir à Netflix.
 Solução 2 - Limpar os dados do aplicativo:
  1. A partir da tela inicial do seu aparelho, acesse Configurações (Settings).
  2. Selecione Geral (General).
    • Se a opção Geral (General) não for exibida, prossiga para a próxima instrução.
  3. Selecione Apps ou Aplicativos (Applications).
  4. Selecione Gerenciar aplicativos (Manage Applications), Gerenciador de aplicativos (Application Manager) ou Gerenciar todos os aplicativos (Manage All Applications).
    • Se essas opções não forem exibidas, prossiga para a próxima instrução.
  5. Desça a tela e selecione Netflix.
    • Se não encontrar a opção Netflix, verifique a guia Baixado (Downloaded).
  6. Selecione Armazenamento (Storage).
    • Se a opção Armazenamento (Storage) não for exibida, prossiga para a próxima instrução.
  7. Selecione Limpar dados (Clear data) e depois clique em OK.
  8. Tente acessar a Netflix novamente.
Depois basta abrir o aplicativo e fazer login novamente.

segunda-feira, 13 de julho de 2015

Alterar letra de disco/unidade no Windows - Código fonte em Free Pascal para Lazarus ou Delphi

Segue o código fonte de um pequeno aplicativo para alterar a letra de unidade de um disco rígido, pendrive ou drive de CD/DVD, para Windows. Pode ser compilado no Lazarus ou no Delphi.
Será necessário adicionar os componentes conforme a declaração Type. Não alterei os nomes dos componentes, pois o aplicativo deveria servir apenas para testes.
O código pode ser melhorado, mas já é funcional.
Para rodar depois de compilado, deverá ser executado como administrador(botão direito no executável=>executar como administrador).

unit Unit1;

{$mode objfpc}{$H+}
{$R *.lfm}
interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, JwaWinBase;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation


var
  Drive: Char;
  DriveLetter: string;
  VolumeName : String;
{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (combobox1.ItemIndex = -1) or (ComboBox2.ItemIndex = -1)
  then Showmessage('Selecione todas as opções!') else
    begin
    GetVolumeNameForVolumeMountPoint(Pchar(copy(ComboBox1.Items[ComboBox1.ItemIndex], 1, 3)), Pchar(VolumeName), 50);
    DeleteVolumeMountPoint(Pchar(copy(ComboBox1.Items[ComboBox1.ItemIndex], 1, 3)));
    SetVolumeMountPoint(Pchar(ComboBox2.Items[ComboBox2.ItemIndex]+':\'), Pchar(VolumeName));
    ShowMessage((ComboBox1.Items[ComboBox1.ItemIndex]) + ' alterado para ' + (ComboBox2.Items[ComboBox2.ItemIndex]) + ':\');
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  for Drive := 'A' to 'Z' do
  begin
    DriveLetter := Drive + ':\';
    if GetDriveType(PChar(DriveLetter)) = DRIVE_UNKNOWN then
       ComboBox1.Items.Add(DriveLetter + ' Dispositivo Desconhecido')
    else if GetDriveType(PChar(DriveLetter)) = DRIVE_REMOVABLE then
       ComboBox1.Items.Add(DriveLetter + ' Pendrive')
    else if GetDriveType(PChar(DriveLetter)) = DRIVE_FIXED then
       ComboBox1.Items.Add(DriveLetter + ' Disco Local')
    else if GetDriveType(PChar(DriveLetter)) = DRIVE_REMOTE then
       ComboBox1.Items.Add(DriveLetter + ' Unidade de rede')
    else if GetDriveType(PChar(DriveLetter)) = DRIVE_CDROM then
       ComboBox1.Items.Add(DriveLetter + ' Drive de CD/DVD')
    else if GetDriveType(PChar(DriveLetter)) = DRIVE_RAMDISK then
       ComboBox1.Items.Add(DriveLetter + ' RAM Disk')
    else
       ComboBox2.Items.Add(Drive);
    end;
  end;
  end.